web-dev-qa-db-ja.com

FFmpegでビデオを変換するときに外部字幕を含める

FFmpegでビデオを変換するときに外部ファイルの字幕を使用することは可能ですか?字幕のファイル拡張子は.stlまたは.vobです。

4
user20722

字幕の変換

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 

output.mkv

字幕のハードコーディング

FFmpegは、 subtitles filter :を使用して、字幕をビデオにハードコーディングすることもできます。

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
3
evilsoup