ffprobe gathers information from multimedia streams and prints it in human- and machine-readable fashion.
For example it can be used to check the format of the container used by a multimedia stream and the format and type of each media stream contained in it.
ffprobe -show_error test.mpv
Exemplo de saída (parte):
Input #0, mpeg, from 'test-mpeg.mpg':
Duration: 00:00:21.00, start: 0.768300, bitrate: 269 kb/s
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 160x120 [SAR 1:1 DAR 4:3], 104857 kb/s, 30 fps, 30 tbr, 90k tbn, 30 tbc
Stream #0:1[0x1c0]: Audio: mp2, 32000 Hz, stereo, s16p, 64 kb/s
Você pode querer verificar a duração.
Um método mais completo é transcodificar o mpv para null / nothing. Cada quadro só será lido do arquivo de origem e somente os erros serão impressos (veja a última linha). Nenhuma saída indica que o arquivo está ok. Isso levará mais tempo do que o ffprobe.
ffmpeg -v error -i test.mpv -f null -
Exemplo de erro:
[mpeg1video @ 0x55ddfc052fe0] ac-tex damaged at 2 0
[mpeg1video @ 0x55ddfc052fe0] Warning MVs not available