
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 の既知の問題でしょうか? 修正できますか?
同じことを話している人が何人かいた/同様の問題しかし、まだ解決策はありません。