FFMPEG를 사용하여 많은 파일을 변환하는 스크립트가 있습니다. 중지하면 현재 출력 중이던 파일이 불완전한 상태로 유지됩니다.
중단된 변환을 쉽게 식별할 수 있도록 FFMPEG가 임시 파일(예: FILENAME_incomplete)에 기록하도록 하는 방법이 있습니까?
답변1
수동으로 중단하는 경우 ffmpeg에는 진행 자체에 대한 개념이 없으므로 구현되지 않습니다. 출력 길이가 200초가 될 것이라는 사실을 모르므로 100초에서 중지되면 처리가 불완전한 것입니다.
오류로 인해 ffmpeg가 중지되면 종료 코드는 > 0이 됩니다. 따라서 이를 포착하고 해당 출력 파일을 삭제할 수 있습니다.
답변2
오류 코드를 읽는 것도 한 가지 방법이지만 절대 안전한 것은 아닙니다. 예를 들어 터미널이 종료되거나 그런 경우가 있습니다.
스크립트의 종료 코드( 스크립트 의 경우 )가 0인지 확인한 Filename.incomplete.mpeg
다음 줄에서 출력 파일의 이름을 지정할 수 있습니다. 이 경우 정상적으로 완료되었다고 가정 하고 파일 이름을 .ffmpeg
$?
bash
ffmpeg
Filename.mpeg
또한 손상된 출력에는 손상된 타임라인이 있다는 것도 확인했습니다. 출력 파일이 완료되었는지 확인하는 방법이 있을 수 있습니다( ffprobe
아마도 사용).