異なるトラックのMKVを連結する方法

異なるトラックのMKVを連結する方法

mkv映画とmkv監督による紹介が入った別のビデオがあります。mkvmergeこれらを連結するために使用しようとしています。 しかし、映画には字幕があり、紹介には字幕がないため、問題が発生しているようです。

具体的には、トラック出力は次のようにmkvinfo intro.mkvなります。

| + A track | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) | + Track UID: 1 | + Track type: video | + Default flag: 0 | + Lacing flag: 0 | + MinCache: 2 | + Codec ID: V_MPEG2 | + CodecPrivate, length 164 | + Default duration: 33.367ms (29.970 frames/fields per second for a video track) | + Video track | + Pixel width: 720 | + Pixel height: 480 | + Display width: 853 | + Display height: 480 | + A track | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) | + Track UID: 2 | + Track type: audio | + Codec ID: A_AC3 | + Default duration: 32.000ms (31.250 frames/fields per second for a video track) | + Name: Stereo | + Audio track | + Sampling frequency: 48000 | + Channels: 2

そしてmkvinfo film.mkv次のようになります:

| + A track | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) | + Track UID: 1 | + Track type: video | + Default flag: 0 | + Lacing flag: 0 | + MinCache: 1 | + Codec ID: V_MS/VFW/FOURCC | + CodecPrivate, length 74 (FourCC: 0x57564331 "WVC1": VC-1) | + Default duration: 41.708ms (23.976 frames/fields per second for a video track) | + Video track | + Pixel width: 1920 | + Pixel height: 1080 | + Display width: 1920 | + Display height: 1080 | + A track | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) | + Track UID: 2 | + Track type: audio | + Codec ID: A_AC3 | + Default duration: 32.000ms (31.250 frames/fields per second for a video track) | + Name: Surround 5.1 | + Audio track | + Sampling frequency: 48000 | + Channels: 6 | + A track | + Track number: 3 (track ID for mkvmerge & mkvextract: 2) | + Track UID: 4 | + Track type: subtitles | + Default flag: 0 | + Lacing flag: 0 | + Codec ID: S_HDMV/PGS | + Content encodings | + Content encoding | + Content compression

試してみましmkvmerge -o full.mkv intro.mkv + film.mkvたが、

Error: The file no. 0 ('intro.mkv') does not contain a track with
the ID 2, or that track is not to be copied. Therefore no track
can be appended to it. The argument for '--append-to' was invalid.

マニュアル ページからは、イントロ トラックに字幕を付けず、映画の字幕のタイムコードをシフトするようmkvmergeに指定する方法がよくわかりません。これは の能力を超えているのでしょうか?--append-tomkvmerge

ffmpegおそらく、オーディオ/ビデオを連結する他のツールをmkvextract調べ、次に PGS サブを操作してそれらをmkvmergeすべて再びまとめる他のツールを調べる必要があるでしょうか?

2 つのファイル間でオーディオ/ビデオも異なるため (例: ステレオと 5.1)、さらに問題が発生するのでしょうか?

ありがとう

答え1

問題は字幕だけが原因ではなく、2 つのビデオが完全に異なるために発生します。

異なるトラックのMKVを連結する方法

簡単に答えると、オーディオトラックを解凍し(WAVなど)、それらを多重化(つなぎ合わせ)してから、オーディオを圧縮します(AC3など)。

これを行う最良の方法は変換するサウンドトラックを非圧縮WAVAファイル、(同期外れを防ぐため)各MKVファイルを個別に。次にそれらを連結して再コード化しますが、ビデオストリームは再コード化せず、オーディオストリームのみを圧縮形式(MP3、AAC、またはAC3)に再コード化します。

上記の手順は次のとおりです。1
. 各ファイルのオーディオを非圧縮形式に拡大します
。2. それらをつなぎ合わせます。3
. オーディオのみを圧縮状態に再コードします 。

2 回目以降は、オーディオが本当に同期されているかどうかを確認する必要があります。

これらすべては、VirtualDub または AviDemux 2.6.12 (ビデオ出力をコピーに設定) で実行できます。これらは無料で、マルウェアではありません。

おそらく、mkvextract からのオーディオ/ビデオを連結するための ffmpeg などの他のツールを調べ、次に PGS サブを操作する他のツールを調べ、それらをすべて mkvmerge で再度結合する必要があるのでしょうか?

Linux ではなく Windows で宗派の問題がない場合は、サブを「.SRT」形式に変換して使用することもできます。画像ベースの形式よりもテキストベースの形式の方が作業しやすいと思います。あなた次第です。

2 つのファイル間でオーディオ/ビデオも異なるため (例: ステレオと 5.1)、さらに問題が発生するのでしょうか?

一般的には、はい。2 つのオーディオ トラックは、可能な限り同じ特性を持つ必要があります。つまり、両方ともステレオにする必要があります。これが最も普遍的であるため、最も簡単です。劇場にいる場合を除き、5.1 は使用しないでください。

動画の幅と高さは同じにする必要があります。1920×1080または720×480 私のアドバイスは、短いイントロビデオを編集することです。以下から選択できます:
- 枠線を追加する(ただし、小さな画像になります)
- 幅x高さを増やす1920×1080(ただし、粗くなります)
-両方、中間点を分割します。あなたの場合、これは次のことを意味します。a
. 幅x高さを 1440×640
b. 境界線を追加する240 - (1920-1440)/2 - 左と右と境界線220 - 上下に (1080-640)/2。

関連情報