
我有一部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-to
介紹軌道不應該有字幕,並且電影字幕的時間碼可以移動。這超出了自己的能力mkvmerge
嗎?
也許我需要研究一些其他工具,例如ffmpeg
連接音頻/視頻,mkvextract
然後使用其他一些工具來操縱 PGS 低音炮並將它們mkvmerge
再次組合在一起?
我是否會遇到更多問題,因為兩個檔案之間的音訊/視訊也不同(例如立體聲與 5.1)?
謝謝
答案1
您的問題是因為兩個影片完全不同而引起的,而不僅僅是因為字幕。
如何將 MKV 與不同的軌道連接起來
快速的答案是解壓縮您的音軌(例如,WAV),混合它們(將它們縫合在一起),然後壓縮音訊(例如,AC3)
最好的方法是轉變音軌未壓縮音訊格式,(以防止不同步),分別針對每個 MKV 檔案。然後連接並重新編碼,但不重新編碼視訊串流,僅將音訊串流重新編碼為壓縮格式(MP3、AAC 或 AC3)
上述步驟如下:
1. 將每個檔案的音訊放大為未壓縮格式
2. 將它們拼接在一起。
3. 僅將音訊重新編碼為壓縮狀態
2之後,您應該檢查您的音訊是否真正同步。
您可以使用 VirtualDub 或 AviDemux 2.6.12(將視訊輸出設為複製)來完成所有這些操作,這些都是免費的,不是惡意軟體。
也許我需要研究一些其他工具,例如 ffmpeg 來連接 mkvextract 中的音頻/視頻,然後使用其他一些工具來操作 PGS subs 並將它們再次 mkvmerge 在一起?
如果您對 Windows(而不是 Linux)沒有教派問題,您也可以將您的 subs 轉換為“.SRT”格式並使用它。我傾向於認為使用基於文字的格式比使用基於圖片的格式更容易。由你決定。
我是否會遇到進一步的問題,因為兩個檔案之間的音訊/視訊也不同(例如立體聲與 5.1)?
總的來說,是的!兩個音軌應具有盡可能相同的特徵,因此都是立體聲,這是最簡單的,因為它是最通用的。不要使用 5.1,除非您在劇院。
您的影片應該具有相同的寬度和高度,因此1920×1080或者720×480
我的建議是編輯較短的介紹影片。您可以選擇:
- 新增邊框(但是,它將是一個很小的圖像)
- 將寬度 x 高度增加到1920×1080(但是,它會是顆粒狀的)
-做兩個都,一半,平分差額。在你的情況下,這意味著
:將寬度 x 高度增加到 1440×640
b.新增邊框240 - (1920-1440)/2 - 左、右和邊框220 - (1080-640)/2 到頂部和底部。