使用 FFmpeg 转换视频时是否可以使用外部文件中的字幕?字幕的文件扩展名为 .stl 或 .vob。
答案1
转换字幕
ffmpeg -i input1.mp4 -i input2.srt -c copy -map 0 -map 1 output.mkv
这将从 srt 中获取字幕,并从 MP4 中获取每个流。它应该适用于大多数字幕格式。此特定命令行将复制所有视频、音频和字幕流。
ffmpeg
还可以自动选择匹配的字幕格式进行输出,例如,它将.srt
使用以下命令将字幕转换为 ASS:
ffmpeg -i input1.mp4 -i input2.srt -c:a copy -c:v copy -map 0 -map 1
输出.mkv
硬编码字幕
FFmpeg 还可以使用以下方式将字幕硬编码到视频中:subtitles
筛选:
ffmpeg -i input1.mp4 -c:v libx264 -vf "subtitles=input2.srt" -c:a copy output.mkv
请注意,这里需要重新转换视频。
支持的字幕格式
自 2017 年起,它将解码/编码(D/E)以下字幕格式:
D E ass ASS (Advanced SSA) subtitle (decoders: ssa ass ) (encoders: ssa ass )
D E dvb_subtitle DVB subtitles (decoders: dvbsub ) (encoders: dvbsub )
D E dvd_subtitle DVD subtitles (decoders: dvdsub ) (encoders: dvdsub )
D eia_608 EIA-608 closed captions (decoders: cc_dec )
D hdmv_pgs_subtitle HDMV Presentation Graphic Stream subtitles (decoders: pgssub )
D jacosub JACOsub subtitle
D microdvd MicroDVD subtitle
D E mov_text MOV text
D mpl2 MPL2 subtitle
D pjs PJS (Phoenix Japanimation Society) subtitle
D realtext RealText subtitle
D sami SAMI subtitle
D stl Spruce subtitle format
D E subrip SubRip subtitle (decoders: srt subrip ) (encoders: srt subrip )
D subviewer SubViewer subtitle
D subviewer1 SubViewer v1 subtitle
D E text raw UTF-8 text
D vplayer VPlayer subtitle
D E webvtt WebVTT subtitle
D E xsub XSUB