ffmpeg 新しい srt を追加し、古い srt を削除します。

ffmpeg 新しい srt を追加し、古い srt を削除します。

私は新しい字幕をマージし、ビデオファイルから既存の字幕を削除するための1行のコマンドを見つけるのに苦労しています。

例:

test1.mkv(すでにソフトエンコードされたサブファイルが含まれているため必要ありません)

test1.srt(ビデオに見せたい字幕のみ)

Ubuntu Server 18.04 LTS 64ビットでの作業

助けが必要ですか?

ソリューションアップデート

mkvmerge -o出力.mkv -S 1.mkv --言語0:hrv --サブ文字セット0:utf-8 1.srt

これは仕事をするでしょう

答え1

新しい字幕をマップし、元のファイルの他のストリームのみをマップする必要があります。

例えば

ffmpeg -i test1.mkv -i test1.srt -c copy -map 0 -map -0:s -map 1 new.mkv

-map 0字幕を含むソースファイルのすべてのストリームをマップします。-map -0:s字幕マッピングを削除します。-map 12番目の入力(test1.srt)のすべてのストリームをマップします。マップされたすべてのストリームがnew.mkvにコピーされます。

答え2

使用することをお勧めしますmkvtoolnix

Ubuntuパッケージの終了https://packages.ubuntu.com/bionic/mkvtoolnix

との正しい組み合わせを使用すると、必要なmkvextractことmkvmerge を実行できます。

これを使用してmkvinfoファイルに関する情報を表示します。

インストールする...

apt-get install mkvtoolnix

コマンドリストの表示

dpkg -L mkvtoolnix | grep bin

man mkvmergeそして読んでman mkvextract

関連情報