Verschlüsseln und fragmentieren Sie eine MP4-Datei mit FFmpeg

Verschlüsseln und fragmentieren Sie eine MP4-Datei mit FFmpeg

Ich möchte eine MP4 Datei mit FFmpeg verschlüsseln und fragmentieren. Dazu verwende ich folgenden Befehl:

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

Der Versuch die verschlüsselte Datei zu entschlüsseln oder wiederzugeben schlägt fehl:

ffplay \
  -i output.mp4 \
  -decryption_key ebdd62f16814d27b68ef122afce4ae3c

FFplay gibt wiederholt den Fehler aus saio atom found without saiz.

Wenn ich -movflagsim Verschlüsselungsbefehl das durch ersetze -movflags frag_keyframe, können die ersten paar Frames dekodiert werden (vermutlich aus der ersten mdatBox). Die Fehlermeldung ändert sich zu Incorrect number of samples in encryption info. Wenn ich das -movflagsvollständig entferne (das Video nicht fragmentiere), funktioniert die Wiedergabe einwandfrei.

Ich verwende Version 5.1 von FFmpeg. Ist das ein bekanntes Problem von FFmpeg? Kann das behoben werden?

Ich habe einige Leute gefunden, die über dasselbe reden/ähnliche Probleme, aber noch keine Lösungen.

verwandte Informationen