使用 FFmpeg 對 MP4 檔案進行加密和分段

使用 FFmpeg 對 MP4 檔案進行加密和分段

我想用 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 的已知問題嗎?這可以解決嗎?

我發現有些人在談論同樣的事情/類似問題,但還沒有解決方案。

相關內容