伊莉討論區

標題: 關於用 mkvmerge GUI 裝封 MKV 影片的問題 請各位高手幫幫忙 [打印本頁]

作者: metabolism2012    時間: 2012-8-18 06:59 AM     標題: 關於用 mkvmerge GUI 裝封 MKV 影片的問題 請各位高手幫幫忙

本帖最後由 metabolism2012 於 2012-8-18 07:02 AM 編輯

我最近把一些MKV用最新版的mkvmerge GUI解封後得到 h264影片檔 aac音訊檔 ass字幕檔 三個檔案
再重新裝封成新的MKV卻發現聲音跟字幕同步但影片卻跟聲音不同步的問題 但是原來的MKV卻不會這樣
我也上網找了很多方法 像是fps的調整啊
還有如果是vfr的話要把原MKV檔的第四個文件chapter一起封存進新的MKV裡好像是因為timecode的關係
可是我找了很久也沒發現什麼chapter檔就只有上面說的那三個檔而已
還有就算把改封成MP4 也是會發生影像跟音訊不同步的問題
因為照理來說如果原MKV沒有做timecode 解成三個檔後 再重新封成新的MKV應該是不會發生影音不同步的問題啊
所以是不是我忽略了mkvmerge GUI裡面什麼設定才會這樣

各位高手如果知道為什麼會這樣的話的話請給予協助 感激不盡






作者: jeff1223    時間: 2012-8-18 10:11 AM

分離或封裝MKV檔時有沒有什麼特別的指令跑出來?
不明白你說vfr 那句在說什麼
chapter檔影片裡沒有就是沒有~沒有章節這些不會影響你這問題



補充內容 (2012-8-18 10:13 AM):
我估計應該是視訊的frame出問題
作者: MaRs-彥    時間: 2012-8-18 11:37 AM

現在轉.264不會再用vfr了, 所以估計是提取軌道時有問題
我自己是用 MKVExtractGUI2 來做提取的工作
作者: metabolism2012    時間: 2012-8-18 11:50 AM

jeff1223 發表於 2012-8-18 10:11 AM
分離或封裝MKV檔時有沒有什麼特別的指令跑出來?
不明白你說vfr 那句在說什麼
chapter檔影片裡沒有就是沒有~ ...

沒有出現什麼特別的指令
可是有些影片裝封後正常
有些影片裝封後影音不同步但還可以播放
還有些影片只能放前半段 後半段就不能播放了
我已經用格式工廠查過影片的fps都是23.978

vfr好像就是什麼會變動的畫格率
好像是說fps會變 所以才要用chapter來彌補
作者: metabolism2012    時間: 2012-8-18 12:37 PM

MaRs-彥 發表於 2012-8-18 11:37 AM
現在轉.264不會再用vfr了, 所以估計是提取軌道時有問題
我自己是用 MKVExtractGUI2 來做提取的工作 ...

我也是用 MKVExtractGUI2 來提取
再用 mkvmerge GUI 合併
可是當在合併MKV的時候 影音就是不同步
是不是我忽略了什麼才會這樣


補充內容 (2012-8-18 12:39 PM):
那個提取軌道是什麼
可以說清楚一點嗎 謝謝

作者: MaRs-彥    時間: 2012-8-18 02:18 PM

metabolism2012 發表於 2012-8-18 12:37 PM
我也是用 MKVExtractGUI2 來提取
再用 mkvmerge GUI 合併
可是當在合併MKV的時候 影音就是不同步

那麼會不會是本來的 mkv 中的音訊有做 delay 的設定
請用 MediaInfo 去查看那個檔案
如果有 delay 大概長這樣

[attach]80152710[/attach]

作者: antixder    時間: 2012-8-18 03:04 PM

metabolism2012 發表於 2012-8-18 12:37 PM
我也是用 MKVExtractGUI2 來提取
再用 mkvmerge GUI 合併
可是當在合併MKV的時候 影音就是不同步

如果只是要重新封裝的話完全沒必要先提取
只要用mkvmerge GUI加入mkv原檔直接重新封裝即可
另外MKVExtractGUI2是抽不出timecode的
MKVExtractGUI2有很多缺點及問題
為何你們都用MKVExtractGUI2提取?
都沒聽過或試過MKVcleaver嗎?
http://www11.zippyshare.com/v/61279114/file.html

作者: jeff1223    時間: 2012-8-18 03:21 PM

metabolism2012 發表於 2012-8-18 11:50 AM
沒有出現什麼特別的指令
可是有些影片裝封後正常
有些影片裝封後影音不同步但還可以播放

chapter只是章節來~章節怎會影響到時間~
就像DVD的菜單...chapter只是方便看影片時選擇播放不同的時段
而且如果影片本身有加chapter就會在mkvmerge GUI裡見到~
所以就算fps是可變都和chapter無關~

delay的問題我不是沒想過...但你說是字幕和音訊是同步
所以就應該不是吧~
當然真的弄不好那都沒辦法~就加delay在音訊那些好了

還有一個方法那原檔是用什麼版本的工具來封裝那MKV
你都用那個好了~雖然這機會不大

作者: metabolism2012    時間: 2012-8-18 03:47 PM

本帖最後由 metabolism2012 於 2012-8-18 03:48 PM 編輯
antixder 發表於 2012-8-18 03:04 PM
如果只是要重新封裝的話完全沒必要先提取
只要用mkvmerge GUI加入mkv原檔直接重新封裝即可
另外MKVExtrac ...

[attach]80156486[/attach]


我使用MKVcleaver出現了這個畫面請問什麼意思
作者: metabolism2012    時間: 2012-8-18 03:57 PM

jeff1223 發表於 2012-8-18 03:21 PM
chapter只是章節來~章節怎會影響到時間~
就像DVD的菜單...chapter只是方便看影片時選擇播放不同的時段
而 ...

那如果是前半部影像 音訊和字幕
但是後半就只有 音訊和字幕同步的話 該怎麼辦
請問為什麼為這樣 謝謝
作者: metabolism2012    時間: 2012-8-18 04:08 PM

本帖最後由 metabolism2012 於 2012-8-18 04:11 PM 編輯
MaRs-彥 發表於 2012-8-18 02:18 PM
那麼會不會是本來的 mkv 中的音訊有做 delay 的設定
請用 MediaInfo 去查看那個檔案
如果有 delay 大概長 ...


請問版主你那個視窗是怎麼開出來的
弄了半天 我只弄得出這些這個
也沒你說的什麼delay數值啊

[attach]80157092[/attach]

[attach]80157002[/attach]

[attach]80157008[/attach]

作者: antixder    時間: 2012-8-18 04:34 PM

metabolism2012 發表於 2012-8-18 03:47 PM
我使用MKVcleaver出現了這個畫面請問什麼意思

用甚麼防毒軟體?
你是執行MKVcleaver.exe或MKVcleaver_v0503.exe?
如果作業系統是Win7請關閉UAC最好是用Administrator帳號登入

作者: MaRs-彥    時間: 2012-8-18 04:38 PM

metabolism2012 發表於 2012-8-18 04:08 PM
請問版主你那個視窗是怎麼開出來的
弄了半天 我只弄得出這些這個
也沒你說的什麼delay數值啊

我那個是安裝 k-lite 時附加的右鍵選單
如果沒有 delay 就沒有了....
作者: jeff1223    時間: 2012-8-18 04:41 PM

metabolism2012 發表於 2012-8-18 03:57 PM
那如果是前半部影像 音訊和字幕
但是後半就只有 音訊和字幕同步的話 該怎麼辦
請問為什麼為這樣 謝謝 ...

後半部影片不同步???那麼奇怪
如果不是把兩段影片合併應該不會出現你這問題
你在輸出那項和另外的那兩個真的沒跑出不正常的東西麼???
[attach]80158077[/attach]



那音訊的delay不一定有的...沒有都是正常



作者: antixder    時間: 2012-8-18 04:42 PM

metabolism2012 發表於 2012-8-18 04:08 PM
請問版主你那個視窗是怎麼開出來的
弄了半天 我只弄得出這些這個
也沒你說的什麼delay數值啊

這是mkv原檔嗎?
請貼MediaInfo文字模式的完整檢測資訊
如果MediaInfo版本較舊請更新(最新版是0.7.59)

作者: MaRs-彥    時間: 2012-8-18 04:48 PM

metabolism2012 發表於 2012-8-18 03:57 PM
那如果是前半部影像 音訊和字幕
但是後半就只有 音訊和字幕同步的話 該怎麼辦
請問為什麼為這樣 謝謝 ...

按照你這樣說, 影像檔應該有問題
試試看用樓上的 antixder 提供的 MKVcleaver 來抽取影像的 timecode
合成的時候再加入, 應該就沒有問題了
作者: metabolism2012    時間: 2012-8-18 04:50 PM

antixder 發表於 2012-8-18 04:34 PM
用甚麼防毒軟體?
你是執行MKVcleaver.exe或MKVcleaver_v0503.exe?
如果作業系統是Win7請關閉UAC最好是用A ...

我是執行MKVcleaver_v0503.exe
我的防毒軟體是用AVAST
作者: antixder    時間: 2012-8-18 04:56 PM

metabolism2012 發表於 2012-8-18 04:50 PM
我是執行MKVcleaver_v0503.exe
我的防毒軟體是用AVAST

應該執行MKVcleaver.exe版本較新(0.5.0.4)

mkv原檔還在嗎?
有沒有試過mkvmerge GUI加入mkv原檔直接重新封裝?
用甚麼播放軟體?

作者: metabolism2012    時間: 2012-8-18 05:07 PM

jeff1223 發表於 2012-8-18 04:41 PM
後半部影片不同步???那麼奇怪
如果不是把兩段影片合併應該不會出現你這問題
你在輸出那項和另外的那兩個 ...

不是兩部影片是只有一部影片而已
我把MKV提取後得 H264 AAC ASS三檔
會先把H264 和 AAC 用MP4BOX裝封成 MP4檔
因為之前用mkvmerge GUI合的時候 會出現FPS要自己打問題
不然就只自動設成25
雖然兩個方法都試過了 FPS也調成23.976 但是結果都一樣
作者: antixder    時間: 2012-8-18 05:13 PM

metabolism2012 發表於 2012-8-18 05:07 PM
不是兩部影片是只有一部影片而已
我把MKV提取後得 H264 AAC ASS三檔
會先把H264 和 AAC 用MP4BOX裝封成 M ...

MKV封裝成MP4也不需要先提取
用ffmpeg就可以直接把mkv封裝成mp4

作者: metabolism2012    時間: 2012-8-18 05:34 PM

本帖最後由 metabolism2012 於 2012-8-18 05:35 PM 編輯
MaRs-彥 發表於 2012-8-18 04:48 PM
按照你這樣說, 影像檔應該有問題
試試看用樓上的 antixder 提供的 MKVcleaver 來抽取影像的 timecode
合 ...


請問要如何把timecode用mkvmerge GUI封進MKV檔呢
我在加timecode檔時出現這個畫面
[attach]80160022[/attach]

作者: metabolism2012    時間: 2012-8-18 05:38 PM

本帖最後由 metabolism2012 於 2012-8-18 05:43 PM 編輯
jeff1223 發表於 2012-8-18 04:41 PM
後半部影片不同步???那麼奇怪
如果不是把兩段影片合併應該不會出現你這問題
你在輸出那項和另外的那兩個 ...


以下是我封存mkv的過程
會出現一個fps的警告視窗
[attach]80160039[/attach]
然後調整fps 23.976
[attach]80160041[/attach]
然和按下開始合成
[attach]80160042[/attach]
會出現一警告 也不知道是什麼意思

作者: MaRs-彥    時間: 2012-8-18 05:41 PM

metabolism2012 發表於 2012-8-18 05:34 PM
請問要如何把timecode用mkvmerge GUI封進MKV檔呢
我在加timecode檔時出現這個畫面

你的 mkvtoolnix 版本也太舊了...

這邊不就有時間碼....

[attach]80160045[/attach]

作者: antixder    時間: 2012-8-18 05:51 PM

metabolism2012 發表於 2012-8-18 05:38 PM
以下是我封存mkv的過程
會出現一個fps的警告視窗

不要提取直接封裝應該就不會出現此警告
直接封裝應該就不會要你輸入FPS
我還是不明白為何你一定要先提取
提取是個壞習慣,只有非提取無法解決時才提取



作者: metabolism2012    時間: 2012-8-18 05:53 PM

antixder 發表於 2012-8-18 05:13 PM
MKV封裝成MP4也不需要先提取
用ffmpeg就可以直接把mkv封裝成mp4

哪可以另外請問一下ffmpeg要怎麼用
我之前載過 卻不知道怎麼用
可以教教我嗎 謝謝
作者: antixder    時間: 2012-8-18 06:07 PM

metabolism2012 發表於 2012-8-18 05:53 PM
哪可以另外請問一下ffmpeg要怎麼用
我之前載過 卻不知道怎麼用
可以教教我嗎 謝謝 ...

ffmpeg是命令列程式
mkv封裝成mp4命令列輸入代碼的內容即可
  1. ffmpeg -i input.mkv -c copy output.mp4
複製代碼

作者: metabolism2012    時間: 2012-8-18 06:43 PM

MaRs-彥 發表於 2012-8-18 05:41 PM
你的 mkvtoolnix 版本也太舊了...

這邊不就有時間碼....

感謝樓主 解決了我一直困擾的問題
作者: metabolism2012    時間: 2012-8-18 07:28 PM

MaRs-彥 發表於 2012-8-18 05:41 PM
你的 mkvtoolnix 版本也太舊了...

這邊不就有時間碼....

版主 另外請問一下
為什麼有些mkv不用加timecode影音還是會同步
可是另一些mkv不加timecode影音卻不同步呢
作者: MaRs-彥    時間: 2012-8-18 07:36 PM

本帖最後由 MaRs-彥 於 2012-8-18 07:38 PM 編輯
metabolism2012 發表於 2012-8-18 07:28 PM
版主 另外請問一下
為什麼有些mkv不用加timecode影音還是會同步
可是另一些mkv不加timecode影音卻不同步 ...

需要加timecode的原因是因為編碼的時候是vfr
每秒的幀數不一樣, 所以需要一個參考檔案來同步音訊

反之亦然, 不加timecode也會同步是因為轉檔過程中
每秒的幀數都固定, 例如藍光影片是 24fps

不過有個重點, mkv只是個容器, 他可以添加很多種編碼格式
所以說你能遇到vfr的影片也見怪不怪


vfr這個區域我也算是個菜鳥, 有錯誤的地方歡迎指正囉
作者: antixder    時間: 2012-8-18 07:44 PM

metabolism2012 發表於 2012-8-18 07:28 PM
版主 另外請問一下
為什麼有些mkv不用加timecode影音還是會同步
可是另一些mkv不加timecode影音卻不同步 ...

我能再問一次嗎?
為何你不直接封裝?
非要把影音抽出來不可
直接封裝就不用管timecode了

作者: antixder    時間: 2012-8-18 07:52 PM

本帖最後由 antixder 於 2012-8-18 07:55 PM 編輯
MaRs-彥 發表於 2012-8-18 07:36 PM
需要加timecode的原因是因為編碼的時候是vfr
每秒的幀數不一樣, 所以需要一個參考檔案來同步音訊

vfr不一定每秒的幀數都不一樣
可能某個時段的幀數是相同的
例如片頭、主影片及片尾分別用三種不同的每秒幀數
在這三個時段內每秒幀數是固定的不變動
轉檔也不一定每秒的幀數都固定
主要是看轉檔軟體支不支援VFR輸出

作者: antixder    時間: 2012-8-18 08:07 PM

本帖最後由 antixder 於 2012-8-18 08:10 PM 編輯
換個版本就解決囉 = = 樓上的白忙一場了....

沒有白忙一場
如果抽不出Timecode
換mkvmerge GUI版本封裝也是不同步
雖然我不明白樓主為何一定要先抽取
也想不通樓主為何不說明要抽取的原因


作者: MaRs-彥    時間: 2012-8-18 08:20 PM

antixder 發表於 2012-8-18 07:52 PM
vfr不一定每秒的幀數都不一樣
可能某個時段的幀數是相同的
例如片頭、主影片及片尾分別用三種不同的每秒幀 ...

也對, 當初在做RMVB的時候有遇到這個問題
不過也學習了新的提取工具
作者: metabolism2012    時間: 2012-8-18 08:43 PM

antixder 發表於 2012-8-18 07:44 PM
我能再問一次嗎?
為何你不直接封裝?
非要把影音抽出來不可

我之前也想過要直接裝封字幕
但是有些MKV只能播放上半部
下半部不能播放 我用了很多播放器播放
其中包括KMPlayer GOMPlayer 快播等 但還是一樣
但原MKV並不會這樣(原MKV沒有裝封字幕)
所以我才想說是不是把原MKV拆開後
在把字幕一起裝回去 看看是不就可以了
但沒想到拆開後再裝回去 播放沒問題 反而變成影音不同步
所以我才覺得頭痛

作者: antixder    時間: 2012-8-18 09:59 PM

metabolism2012 發表於 2012-8-18 08:43 PM
我之前也想過要直接裝封字幕
但是有些MKV只能播放上半部
下半部不能播放 我用了很多播放器播放

只能播放上半部可能是播放問題
用MPC-HC官方安裝版播放看看
http://sourceforge.net/projects/mpc-hc/files/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.6.3.5818_x86/MPC-HC.1.6.3.5818.x86.exe/download

安裝時如果有重設設定要勾選

作者: metabolism2012    時間: 2012-8-18 11:28 PM

本帖最後由 metabolism2012 於 2012-8-18 11:33 PM 編輯
antixder 發表於 2012-8-18 09:59 PM
只能播放上半部可能是播放問題
用MPC-HC官方安裝版播放看看
http://sourceforge.net/projects/mpc-hc/fil ...


不好意思 我不小心看錯了
其實不是不能播放 其實是時間得問題
如果把原23分鐘左右的MKV直接封進文字 新的MKV的片長會便成42多分鐘
但是新MKV除了片長的問題之外 還是可以播放 只能播23分鐘(影音字幕也是同步)
不過我還是覺得怪怪的

補充內容 (2012-8-18 11:35 PM):
還有 大大你那播放器真不錯 謝謝
作者: antixder    時間: 2012-8-19 12:36 AM

metabolism2012 發表於 2012-8-18 11:28 PM
不好意思 我不小心看錯了
其實不是不能播放 其實是時間得問題
如果把原23分鐘左右的MKV直接封進文字 新的 ...

原來是字幕檔時間比視訊長
這也是播放問題可以解決
取消MPC-HC等播放軟體內建的MKV分離器


裝LAV Filters
http://files.1f0.de/lavf/LAVFilters-0.51.3.exe

重新執行播放軟體影片的時間長度應該就正常了
作者: metabolism2012    時間: 2012-8-19 10:59 AM

antixder 發表於 2012-8-18 06:07 PM
ffmpeg是命令列程式
mkv封裝成mp4命令列輸入代碼的內容即可

對就是這個
我一直看不懂要怎麼用
什麼命令列程式 是要打在哪裡? 也是用mkvmerge GUI嗎?
麻煩大大說詳細一點好嗎
如果可以麻煩貼個圖說明一下
                      感激不盡
作者: antixder    時間: 2012-8-19 01:45 PM

metabolism2012 發表於 2012-8-19 10:59 AM
對就是這個
我一直看不懂要怎麼用
什麼命令列程式 是要打在哪裡? 也是用mkvmerge GUI嗎?

所有程式 -> 附屬應用程式 -> 命令提示字元


或是用.bat檔執行也可以
http://tw.eyny.com/forum.php?mod=redirect&goto=findpost&ptid=7982386&pid=222487679
作者: metabolism2012    時間: 2012-8-19 02:02 PM

antixder 發表於 2012-8-19 12:36 AM
原來是字幕檔時間比視訊長
這也是播放問題可以解決
取消MPC-HC等播放軟體內建的MKV分離器

感謝大大的說明
終於解決了我一直頭痛的問題
作者: metabolism2012    時間: 2012-8-19 02:02 PM

本帖最後由 metabolism2012 於 2012-8-19 02:04 PM 編輯
antixder 發表於 2012-8-19 01:45 PM
所有程式 -> 附屬應用程式 -> 命令提示字元

原來是這樣ㄚ
感謝大大清楚的說明





歡迎光臨 伊莉討論區 (http://s03.p02.eyny.com/) Powered by Discuz!