我在目录中有一些无法打开的视频文件。问题是其中一些被错误地转码,因此无法使用QuickTime打开它们。
我想知道的是,如果有一种我可以编写的脚本可以读取目录中的所有文件并尝试使用QuickTime打开它们,如果它们无法打开,则移动它们或执行别的什么。
我的实际文件目录是这样的:
--Main folder
---Subfolder
-----video.mov
-----video.mov
------Sub-Subfolder
--------video.mov
--------video.mov
---Subfolder
-----video.mov
-----video.mov
------Sub-Subfolder
--------video.mov
(...) and so on
我希望我已经解释得很清楚所以你能理解它......如果有人能帮助我,我会非常感激。
谢谢!
答案 0 :(得分:1)
循环部分非常简单,应该如下所示:
for x in `find <folder> -name "*.mov"`; do <validate movie file command>; done
对于validate file命令,在ffmpeg实用程序中有一个合适的选项,它基本上是一个视频转换器,但您可以将输入视频转换为NULL并只读取输入文件并报告将出现的任何错误。
ffmpeg -v error -i ${x} -f null - 2>error.log