Sinalizar saída incompleta do ffmpeg

Sinalizar saída incompleta do ffmpeg

Tenho um script que usa FFMPEG para converter muitos arquivos. Se eu parar, o arquivo que ele estava produzindo atualmente será mantido em estado incompleto.

Existe uma maneira de gravar o FFMPEG em um arquivo temporário (digamos FILENAME_incomplete) para que eu possa identificar facilmente conversões abortadas?

Responder1

Se você abortar manualmente, isso não será implementado, pois o ffmpeg não tem conceito de progresso em si. Ele não sabe que uma saída terá 200 segundos de duração e, portanto, se for interrompido em 100 segundos, o processamento ficará incompleto.

Se o ffmpeg parar devido a um erro, seu código de saída será> 0. Portanto, você pode capturar isso e excluir o arquivo de saída correspondente.

Responder2

Bem, ler o código de erro é uma maneira, mas não é à prova de falhas - digamos, se o terminal for morto ou algo assim.

Você pode nomear seu arquivo de saída como Filename.incomplete.mpegna linha após ffmpegem seu script verificar se o código de saída ( $?para bashscripts) é 0; nesse caso, a suposição é que ffmpegfoi concluído normalmente e você pode renomear o arquivo para Filename.mpeg.

Também notei que a saída incorrupta tem uma linha do tempo corrompida. Provavelmente existem maneiras de verificar se o arquivo de saída está completo (usando ffprobetalvez).

informação relacionada