ffmpeg의 불완전한 출력에 플래그 지정

ffmpeg의 불완전한 출력에 플래그 지정

FFMPEG를 사용하여 많은 파일을 변환하는 스크립트가 있습니다. 중지하면 현재 출력 중이던 파일이 불완전한 상태로 유지됩니다.

중단된 변환을 쉽게 식별할 수 있도록 FFMPEG가 임시 파일(예: FILENAME_incomplete)에 기록하도록 하는 방법이 있습니까?

답변1

수동으로 중단하는 경우 ffmpeg에는 진행 자체에 대한 개념이 없으므로 구현되지 않습니다. 출력 길이가 200초가 될 것이라는 사실을 모르므로 100초에서 중지되면 처리가 불완전한 것입니다.

오류로 인해 ffmpeg가 중지되면 종료 코드는 > 0이 됩니다. 따라서 이를 포착하고 해당 출력 파일을 삭제할 수 있습니다.

답변2

오류 코드를 읽는 것도 한 가지 방법이지만 절대 안전한 것은 아닙니다. 예를 들어 터미널이 종료되거나 그런 경우가 있습니다.

스크립트의 종료 코드( 스크립트 의 경우 )가 0인지 확인한 Filename.incomplete.mpeg다음 줄에서 출력 파일의 이름을 지정할 수 있습니다. 이 경우 정상적으로 완료되었다고 가정 하고 파일 이름을 .ffmpeg$?bashffmpegFilename.mpeg

또한 손상된 출력에는 손상된 타임라인이 있다는 것도 확인했습니다. 출력 파일이 완료되었는지 확인하는 방법이 있을 수 있습니다( ffprobe아마도 사용).

관련 정보