【发布时间】:2017-09-16 18:19:06
【问题描述】:
我查看了 this post 和 this post 以及其他一些。他们提供了一些关于如何开始的信息,不幸的是我的用例稍微复杂一些。
我有一对运行 ffmpeg 命令的视频文件。我运行的命令将元数据从原始文件传输到转换后的文件,如下所示:
christian$ ffmpeg -i file_1.mov -i file_1.mp4 -map 1 -map_metadata 0 -c copy file_1_fixed.mp4
This post 解释命令的作用,如果需要解释。基本上,用例是原始文件和转换后的文件具有相同的名称,但扩展名不同。我将如何编写一个 shell 脚本,在一个目录中找到所有这样的对,并为每一对编写和运行上面指定的命令?
我假设,从逻辑的角度来看,我需要遍历所有对,获取文件名,进行某种字符串操作(如果这甚至可以通过 shell 脚本实现)编写命令并运行它.
您可以向我指出的任何资源将不胜感激。澄清一下,一些伪代码:
for (file in directory) {
string name = file.getname
string command = "ffmpeg -i " + name + ".mov -i " + name + ".mp4 -map 1
-map_metadata 0 -c copy " + name + "_fixed.mp4"
run(command)
}
希望这是有道理的,如果我需要澄清更多,请告诉我。感谢您的阅读。
【问题讨论】:
标签: linux bash macos shell ffmpeg