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의 알려진 문제입니까? 이 문제를 해결할 수 있나요?

같은 얘기를 하는 사람도 있는 걸 봤는데/비슷한 문제, 아직 해결 방법이 없습니다.

관련 정보