我的问题是我有2个字幕轨道,一个叫“英文标志和歌曲”,另一个叫“全英文”。我也有英文和日文音轨(双音频)。
我需要将视频缩小到 PSP 分辨率,为此我正在使用手刹。对于我的字幕选择行为,我将其设置为第一个匹配所选语言;英语;老化行为=第一首曲目。
然而,即使在使用它之后,它也会选择标志和歌曲作为刻录的字幕。然而标志和歌曲是一个空白的字幕。由于它是自动选择的,因此很难为我正在转换的 200 多个视频中的每一个更改字幕。
那么有没有办法自动选择英文完整字幕或者完全删除标志和歌曲字幕?
我知道我可以在手刹本身中单独完成它,但它会消耗太多时间。
编辑:我想扩展我的问题-我真正想要的是完全删除“英语标志和歌曲”字幕而不重新编码整个视频。我只想删除字幕轨道。
您可以将 ffmpeg 与批处理或 powershell 脚本结合使用来自动化您的目标。
在此处查看可用于 ffmpeg 的命令: https ://newbedev.com/how-to-remove-one-track-from-video-file-using-ffmpeg
这是一个例子:
https://www.youtube.com/watch?v=jZWxWkl7yq0
批量删除 Track 1 字幕(无需重新编码):
批量删除字幕轨道1并将分辨率更改为PSP(480x272)(需要重新编码):
考虑以下视频:
视频
声音的:
音频日语 [索引 0]
音频英语 [索引 1]
字幕:
英文 [索引 0]
意大利语 [索引 1]
西班牙语(西班牙)[索引 2]
西班牙文(拉丁文)[索引 3]
巴西葡萄牙语 [索引 4]
俄罗斯 [索引 5]
阿拉伯语 [索引 6]
英文全 [索引 7]
英文唱/歌曲 [索引 8]
- 删除除日语以外的所有音频和除英语之外的所有字幕:
删除英文音频(索引 1):-map -0:a:1
删除删除所有字幕:-map -0:s
添加字幕英文完整(索引7):-map 0:s:7
- 删除日语音频和英语完整字幕:
删除日语音频(索引 0):-map -0:a:0
删除英文完整字幕(索引 7):-map -o:s:7