
Я хочу зашифровать и фрагментировать файл MP4 с помощью FFmpeg. Для этого я использую следующую команду:
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
(не фрагментируя видео), воспроизведение работает нормально.
Я использую версию 5.1 FFmpeg. Это известная проблема FFmpeg? Можно ли это исправить?
Я нашел несколько людей, говорящих об одном и том же./похожие проблемы, но решения пока нет.