我有许多视频文件(500 多个),其中包含我不需要的语言的大量音频和字幕流,因此希望将其删除以节省存储空间。
我对 进行了修改ffmpeg
,但通过处理一个又一个文件来删除流结果非常耗时。脚本编写也没有运气,因为视频文件包含不同顺序的不同流,这使得通过索引删除变得困难且容易出错。
必须有一个既更快又适用于包含不同流的文件的解决方案,对吧?任何帮助将非常感激。
我有许多视频文件(500 多个),其中包含我不需要的语言的大量音频和字幕流,因此希望将其删除以节省存储空间。
我对 进行了修改ffmpeg
,但通过处理一个又一个文件来删除流结果非常耗时。脚本编写也没有运气,因为视频文件包含不同顺序的不同流,这使得通过索引删除变得困难且容易出错。
必须有一个既更快又适用于包含不同流的文件的解决方案,对吧?任何帮助将非常感激。
您可以使用以下
ffmpeg
命令行:解释:
生成的文件将仅保留英语流(无论如何复制的视频流除外)。
我实际上不久前为此创建了一个脚本:
GitHub 要点:remove-unneeded-languages.sh
像这样使用它(例如处理所有
.mkv
文件并仅保留英语和西班牙语的流):