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