使用 FFmpeg 加密和分割 MP4 文件

使用 FFmpeg 加密和分割 MP4 文件

我想使用 FFmpeg 加密和分割 MP4 文件。为此,我使用以下命令:

ffmpeg \
  -i input.mp4 \
  -c copy \
  -encryption_scheme cenc-aes-ctr \
  -encryption_kid 30313233343536373839303132333435 \
  -encryption_key ebdd62f16814d27b68ef122afce4ae3c \
  -movflags frag_keyframe+empty_moov+default_base_moof \
  output.mp4

尝试解密或者重放加密文件不起作用:

ffplay \
  -i output.mp4 \
  -decryption_key ebdd62f16814d27b68ef122afce4ae3c

FFplay 反复输出错误saio atom found without saiz

当将-movflags加密命令中的 替换为时-movflags frag_keyframe,前几帧可以解码(大概是从第一个mdat框中解码的)。错误消息变为Incorrect number of samples in encryption info。如果我完全删除-movflags(不分割视频),重播就可以正常工作。

我使用的是 FFmpeg 5.1 版。这是 FFmpeg 的已知问题吗?可以修复吗?

我发现有些人在谈论同样的事情/类似问题,但尚无解决方案。

相关内容