【发布时间】:2020-06-15 22:46:01
【问题描述】:
到目前为止我做了什么:
我通过this answer 了解到,我可以使用negative mapping 从我的视频文件中删除不需要的流(额外的音频、字幕)。
他们继续使用 Windows cmd 上的简单 for /r 循环将其应用于文件夹中的几十个文件。由于我认为这个过程是某种修剪,所以我并不关心我的原始文件并希望 ffmpeg 替换它们,这当然不能。
我尝试进一步搜索并找到解决此问题的方法,而不是简单地使用新目标,然后手动替换文件,但没有运气。
然而,我的很多发现似乎表明 ffmpeg 能够使用外部临时文件来实现它的某些功能,尽管我真的找不到更多关于它的信息。
我想做什么:
那么有什么方法可以让 ffmpeg 删除那些额外的流并以某种方式替换原始文件。我还需要将它用于多个文件,因为我认为这不是一个大问题......
我真的需要用 ffmpeg 来完成这项工作,因为全面学习该工具是我的长期目标,我想继续沿着这条曲线工作,但至于批处理/cmd,我更喜欢它,因为我还没有正确地学习一门编程语言(即使我经常插手一些),但我很乐意使用任何类型的建议来处理 ffmpeg!
谢谢!
【问题讨论】:
-
就目前而言,您的问题是题外话。请拨打tour。学习How to Ask,也请阅读minimal reproducible example。
-
我重读了那些,但我仍然不明白为什么它离题了。我没有发布我目前使用的内容,因为它甚至不应该是一个部分解决方案,我的问题集中在什么是 ffmpeg 的中心“限制”以及解决它的方法上。不过,我之前的写作可能令人困惑,如果有,请告诉我。我目前使用的代码是
for /r %i in (*) do ffmpeg -i "%~fi" -map 0 -map -0:a:2 -c copy D:\Folder\%~i
标签: windows batch-file video ffmpeg