我有一个包含大量视频文件的服务器。恢复后,我注意到几个文件的校验和发生了变化。由于我没有所有文件的校验和,因此我想编写一个脚本来验证文件完整性。对于档案来说很简单(tar t
, unzip -t
, rar t
等)或图像(convert image.jpg /tmp/test.png
).
我需要传递哪些选项mplayer
or vlc
或者 Linux 上的任何其他视频工具可以实现相同的效果(即验证文件内容而无需观看整个视频)?
听起来你想做的是:
mplayer -vo null -ao null input.file
然后解析输出并返回值以查看它是否真的可以播放和解码流。这将需要一些时间(但比实时速度快)。如果您想要更快的速度,这里还有一些建议:
一件简单的事情就是做
mplayer -identify -vo null -ao null
文件上,然后解析输出并查看返回值是否看起来合理。
关于校验和不正确,很难知道这是否是您的媒体播放器(mplayer、vlc、totem 等)的问题。好的媒体播放器可以容忍许多位或字节级错误,而对最终播放的影响很小。当一个非常严格的媒体播放器看到格式错误或不正确的编解码器和包装字节时,它将退出。
要验证包装器(容器)字节,您可以执行类似的操作
mencoder -ovc copy -oac copy input.file -o output.file
问题是 mencoder 想要创建一个 .avi 文件用于输出。如果您的输入是 .avi,那么这会很好用。
您可以运行类似的 ffmpeg 命令行,如下所示:
ffmpeg -acodec copy -vcodec copy input.file output.file
如果文件是 .mp4 文件,您可能需要查看 mp4box (http://www.videohelp.com/tools/mp4box http://www.videohelp.com/tools/mp4box)用于执行类似的任务。 matroska 工具也适合这种事情。 (http://www.matroska.org/ http://www.matroska.org/ )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)