我正在尝试编写一些基本的DVD到家庭媒体服务器处理脚本。我想做的一件事,似乎应该很基本,就是从最初的rip中提取.mp4文件中的文本(srt)字幕。
我可以看到流,如果我明确地选择了流(按流号),则可以将其提取。但是,我想编写ffmpeg命令的脚本。如果我尝试仅使用-map选项指定字幕流,它将映射第一个字幕流,通常是位图流而不是文本流。
因此,在翻录了一些DVD后,我想用批处理脚本处理所有内容,例如:
for video in *.mp4; do
...
(special code to get $subtitle filename with .srt instead of .mp4)
ffmpeg -i "$video" -map 0:s "$subtitle"
...
done
我希望“ -map”选项使ffmpeg仅选择基于文本的字幕(例如mov_text),而不选择dvd_subtitle,无论哪个是流列表中的第一个。
有人知道这样做的方法吗?