引用:
Originally posted by icewater
Shade兄︰
問題已解決了,感謝您的熱心
以下是個人的avs
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2DEC.dll")
MPEG2Source("H:\VOB001\og1.d2v")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\IT.dll")
IT(fps=30,ref="TOP",blend=false)
Crop(8,0,704,480)
LanczosResize(640,480)
試過重裝好幾次AviSynth_252都無效
只好換dvd2avi的版本
dvd2avi_1.76不行
DVD2AVI_1.77.3也不行
DVD2AVI_1.77.1卻可以
或許就正如snic兄所說的
不同的pc會引發不同的問題,無法完全一體適用
但是還是疑惑
同教學版本產生的d2v為何就是不行呢??有解否??
|
因為 MPEG2DEC.dll 有許多版本。
MPEG2DEC 最早的時候只能讀 v1.76 的 .d2v 檔,後來 jackei 大推出 1.77 版,更改了 .d2v 的檔案格式,當時的 MPEG2DEC 就無法讀取。
因為 1.77 版開始 DVD2AVI 支援分離 DTS,有許多人需要這個功能,但是 MPEG2DEC 又不支援 1.77 版的 .d2v,要用 1.77 版分離音軌,然後又要用 1.76 版產生 v1.76 的 .d2v,很麻煩,所以 trbarry 大就寫了一個新版的 MPEG2DEC.dll,可以讀取 1.77 版的 .d2v。
當時檔名有區分
MPEG2DEC.ZIP
MPEG2DEC1.77.ZIP
現在是什麼樣的情況我不清楚,我一直都是用 1.76 版的 MPEG2DEC
不知道您用的 MPEG2DEC 是從哪裡下載的?
我是用 Avisynth 在 Source Forge 的下載網站上,有附一個 codec 的 package,裡面就有許多 MPEG2DEC 的版本,檔名標的很清楚,裡面的 MPEG2DEC.dll 就是讀取 1.76 版的 .d2v。
其他 package 附的版本我就不清楚了,例如 Gordian Knot,以前附的也是 1.76 版的 MPEG2DEC,也許最新版改了?
而且我有一陣子沒看了,也許現在已經有很聰明的版本,會自動判斷 1.76/1.77 的 .d2v,兩個版本都能讀取也說不定。
這裡有收集許多 Avisynth filter 的連結,是一個好網站,裡面也有列許多 MPEG2DEC 的版本,你參考看看。
http://www.avisynth.org/~warpenterprises/
最近的消息則是,以前曾提過,DVD2AVI 會漏掉一些 frame 沒有解碼輸出
因為我用 M2V 解碼套用 DVD2AVI 在 TMPGEnc 裡面的 IVTC 設定,結果發現 frame 竟然對不上,M2V 解碼的 IVTC 圈選畫面會往前提前兩個,所以才發現....
一般 GOP 的開頭是
0 3 1 2
I P B B...
如果檔案最前面 GOP 的開頭是
2 0 1 5 3 4
I B B P B B...
的型式,也就是在顯示順序上,是
0 1 2 3 4 5
B B I B B P...
這個 GOP 的開頭是兩張 B-frame,當然,這兩張 B-frame 只能向後參考他後面的,位於第三張的 I 壓縮,這兩張 B-frame 一定只有 backward MV,同時 Encoder 會標記這個 GOP 為 Closed GOP,沒有 Broken Link。
這種 Closed GOP 的最開頭兩張 B 是可以解碼的,但是 DVD2AVI 不會解碼這兩張 B 輸出。
這樣開頭就少了兩張。
結尾 DVD2AVI 也會在記錄的 .d2v 檔中,漏掉最後一個 frame 的紀錄資訊,總共就少了三張。
而 MPEG2DEC 遇到上述開頭 IBBP 的 GOP,會笨笨的(?)跟著將 frame count 總數 -2,造成 MPEG2DEC 結尾會再多丟掉二個 frame。
最多總共會少五張。
這樣會造成影音不同步。
neuron2 最近修正了這個 bug,推出修正的 MPEG2DEC3 和 DVD2AVI
http://neuron2.net/fixd2v/decodefix.html
要不要換隨意,一般的情況下,DVD2AVI 只會在結尾少一個 frame,影響不大(?)。