3

У меня есть тысячи видео файлов, чтобы проверить / проверить, есть ли у них ошибка или предупреждение. Фирма просто оцифровывала их поверх старых лент (VHS, Umatic ...) Все эти видео в формате mp4, и я хочу проверить их автоматически с помощью программного обеспечения. После небольшого поиска я нашел этот сайт (http://videofilechecker.com/), но пробной версии программного обеспечения не было, поэтому я не смог протестировать его с моими видеофайлами. Затем я увидел, что программное обеспечение использует ffmpeg для проверки всех этих видео. Во втором поиске я нашел этот вопрос в суперпользователе. (Как я могу проверить целостность видеофайла (avi, mpeg, mp4 ...)?).

На этот вопрос ответ таков:

ffmpeg.exe -v 5 -i file.avi -f null - >error.log

я проверил error.log, и он был полностью пуст (вероятно, в видео не было ошибки)

но я изучил документацию по ffmpeg и обнаружил кое-что еще, например:

ffmpeg.exe -v error -i file.mp4 -f null - >error.log

но потом я получил ошибку:

Unknown input format: null
Failed to set value 'null' for option 'f': Error number -22 occurred

Если я попробую с -v 5 то ошибки вообще не будет, но в документации написано с -v error

Из-за моих ограниченных знаний о проверке видео я не уверен, какие опции мне следует использовать с ffmpeg для проверки всех этих файлов. Также моей следующей проблемой будет написать пакетный скрипт в Windows, который будет проверять все файлы один за другим, и в случае ошибки он запишет его в файл журнала с именем файла. У кого-нибудь есть идея или сценарий для проверки этих видео?

1 ответ1

3

Это то, что я использую:

./ffmpeg.exe -v debug -threads 8 -nostats -i "path/to/file.ts" -f null - >~/error.log 2>&1

Или же:

./ffmpeg.exe -v debug -threads 8 -nostats -i "path/to/file.ts" -f null - 2>~/error.log

Второй перенаправляет только stderr в файл, тогда как первый перенаправляет оба, stderr и stdout.

Опция -v debug выводит все ошибки, предупреждения и отладочную информацию, поэтому она может быть полезна при сравнении двух видеофайлов (например, чтобы увидеть, в каком из них меньше ошибок). Чтобы ограничить количество сообщений, используйте другие уровни в соответствии с документацией ffmpeg:

https://www.ffmpeg.org/ffmpeg.html

Ищите опцию: -loglevel [repeat+]loglevel | -v [repeat+]loglevel . Другие уровни: quiet , panic , fatal , error , warning , info , verbose , debug .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .