Шифрование и фрагментация файла MP4 с помощью FFmpeg

Шифрование и фрагментация файла MP4 с помощью FFmpeg

Я хочу зашифровать и фрагментировать файл 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? Можно ли это исправить?

Я нашел несколько людей, говорящих об одном и том же./похожие проблемы, но решения пока нет.

Связанный контент