字幕トラックをmp4ビデオファイルに「焼く」方法

字幕トラックをmp4ビデオファイルに「焼く」方法

2つの別々のファイルを処理する必要がないように、字幕ファイルをmp4ビデオファイルの一部として使用したいと思います。

私は2つの方法を想像しています。

  • 字幕をビデオの本質的な部分にします。これを行うには、ビデオを再エンコードする必要があります。
  • 字幕は別々のストリームになりますが、同じビデオファイルにまだ含まれています。特に、他の方法とは異なり、この機能を無効にしてフォントの種類/サイズを調整できるので、これはより良い方法です。

2番目の方法でタスクを実行するにはどうすればよいですか?最初の方法がどのように機能するかを見るのも良いでしょう。

答え1

これMatroska(mkv)コンテナ形式テキストベースの字幕をファイルに別々のストリームとして含める機能をサポートします。

使用できるマージファイルを.mkvにリミックスして出力に字幕を含めると、ビデオの再生中に字幕を有効/無効にできます。この方法では、ビデオやオーディオを再エンコードせずに同じデータを別のコンテナ形式に配置するため、ビデオ品質は低下しません。

mkvmerge -o output.mkv video.mp4 subtitles.srt

答え2

というファイルからgpac、というCLIユーティリティがあります。MP4Box

以下は私のために働いた例です..

MP4Box  -add ~/file.noaudio.mp4 \
        -add ~/file.mp3 \
        -add ~/file.srt \
             ~/file.MP4Box.mp4   

映像専用と音声専用を使ったのに一般オーディオ+映像「映画」ならきっと(?)うまくいくでしょう…今はかなり遅れたのでその点は省略します……。

注:字幕はTotemでは機能しますが、SMPlayerでは機能しません。

答え3

次のようにしてみてください。

mencoder -oac copy -ovc copy -sub subs.srt video.mp4 -o new_video.mp4

関連情報