Cifrar y fragmentar un archivo MP4 con FFmpeg

Cifrar y fragmentar un archivo MP4 con FFmpeg

Quiero cifrar y fragmentar un archivo MP4 con FFmpeg. Para esto, utilizo el siguiente comando:

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

Intentar descifrar o reproducir el archivo cifrado no funciona:

ffplay \
  -i output.mp4 \
  -decryption_key ebdd62f16814d27b68ef122afce4ae3c

FFplay genera repetidamente el error saio atom found without saiz.

Al reemplazar -movflagsen el comando de cifrado con -movflags frag_keyframe, se pueden decodificar los primeros fotogramas (presumiblemente del primer mdatcuadro). El mensaje de error cambia a Incorrect number of samples in encryption info. Si elimino el video -movflagspor completo (sin fragmentar el video), la reproducción funciona bien.

Estoy usando la versión 5.1 de FFmpeg. ¿Es este un problema conocido de FFmpeg? ¿Se puede arreglar esto?

Encontré algunas personas hablando de lo mismo./problemas similares, pero aún no hay soluciones.

información relacionada