xmu*_*mux 5 video ffmpeg verification
我有数千个视频文件需要检查/验证它们是否有错误或警告。一家公司刚刚通过旧磁带(VHS、Umatic ...)将它们数字化,所有这些视频都是 mp4 格式,我想用软件自动检查它们。经过一番小搜索后,我找到了这个网站(http://videofilechecker.com/),但是该软件没有试用版,因此我无法使用我的视频文件对其进行测试。然后我看到该软件正在使用 ffmpeg 来验证所有这些视频。在我的第二次搜索中,我在超级用户中发现了这个问题。(如何检查视频文件(avi、mpeg、mp4...)的完整性?)。
在这个问题中,答案是:
ffmpeg.exe -v 5 -i file.avi -f null - >error.log
Run Code Online (Sandbox Code Playgroud)
我检查了error.log,它完全是空的(可能视频中没有错误)
但我研究了 ffmpeg 的文档并发现了其他一些东西,例如:
ffmpeg.exe -v error -i file.mp4 -f null - >error.log
Run Code Online (Sandbox Code Playgroud)
但后来我得到了一个错误:
Unknown input format: null
Failed to set value 'null' for option 'f': Error number -22 occurred
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用,-v 5则根本没有错误,但在文档中它是用-v error
由于我对视频验证的了解有限,我不太确定应该使用 ffmpeg 的哪些选项来验证所有这些文件。另外,我的下一个问题是在 Windows 中编写一个批处理脚本,它将一一检查所有文件,如果有错误,它将把它写到一个包含文件名的日志文件中。有人有任何软件想法或脚本来验证这些视频吗?
小智 4
这就是我正在使用的:
./ffmpeg.exe -v debug -threads 8 -nostats -i "path/to/file.ts" -f null - >~/error.log 2>&1
Run Code Online (Sandbox Code Playgroud)
或者:
./ffmpeg.exe -v debug -threads 8 -nostats -i "path/to/file.ts" -f null - 2>~/error.log
Run Code Online (Sandbox Code Playgroud)
第二个仅将 stderr 重定向到文件,而第一个则同时重定向 stderr 和 stdout。
该选项-v debug将打印所有错误、警告和调试信息,因此在比较两个视频文件时可能很有用(例如,查看哪一个的错误较少)。要限制报告的内容,请根据 ffmpeg 文档使用其他级别:
https://www.ffmpeg.org/ffmpeg.html
寻找选项:-loglevel [repeat+]loglevel | -v [repeat+]loglevel。其他级别为quiet、、、、、、、、。panicfatalerrorwarninginfoverbosedebug