Basic Member
加入日期: Jul 2002
文章: 16
|
用VirtualDub轉檔案 轉出影音不同步
各位大大:
我用電視擷取卡錄下來的電視節目,因為檔案太大,所以我用VirtualDub來轉換檔案,前幾次都還可以的,但是最近卻常出現影音不同步的問題,畫面跟不上聲音(我是轉成avi檔案),教我轉檔案的朋友說或許是因為我的硬體設備跟不上divx5.02(可是我之前剛裝好的時候都沒這問題~~~),想請教各位有經驗的大大,我該怎麼設定才對呢??我在Video -> Compression 下是指定DIVX PRO 5.0.2 CODEC,在 Audio -> Compression 是選擇 MPEG Layer-3 ,速度是56K 22050HZ,可不可以有人幫幫我,或是教我使用其他的軟體來轉MPG-4?? PS 我在還沒裝上DIVX5之前是用DIVX 3,那時候錄製MPG-2格式的電視節目是完全沒問題的狀態,但是裝上了DIVX5之後,錄MPG-2的格式就會變得頓頓的,好像會有分格的現象,有人可以告訴我是怎麼回事嗎???謝謝各位大大 |
|||||||
2002-08-07, 09:05 PM
#1
|
Power Member
加入日期: Nov 2000 您的住址: 台灣桃園
文章: 644
|
>我用電視擷取卡錄下來的電視節目,因為檔案太大,所以我用VirtualDub來轉換檔案,前幾次都還可以的,但是最近卻常出現影音不同步的問題,畫面跟不上聲音(我是轉成avi檔案),教我轉檔案的朋友說或許是因為我的硬體設備跟不上divx5.02(可是我之前剛裝好的時候都沒這問題~~~),
你沒有說你的硬體, 理論上,不論電腦快慢,轉出的檔案應該是一樣的(即時錄影才會受到電腦速度的影像錄出不同的檔案) 你遇到的問題可能是你的電腦速度不足以即時播放DivX 5,造成畫面來不及解碼的問題,所以會比聲音慢,這不一定是壓出的檔案有問題 你可以試著關閉Post Processing選項,看是否能夠改善,如果還不行的話…可能得升級硬體了 或是你可以試著使用一些效率比較高的播放程式,例如VideoLAN Client: http://www.videolan.org/ 不過小心這個程式還有一點不穩,而且設定有點多不太好用 >想請教各位有經驗的大大,我該怎麼設定才對呢?? 所以這不一定是設定的問題,先檢查播放檔案時的CPU使用率吧。 >我在Video -> Compression 下是指定DIVX PRO 5.0.2 CODEC,在 Audio -> Compression 是選擇 MPEG Layer-3 ,速度是56K 22050HZ,可不可以有人幫幫我,或是教我使用其他的軟體來轉MPG-4?? 你也可以試試使用別的軟體(例如AviUtl…etc)轉出的檔案可不可以播放,這不失為一個確定問題來源的方法 另外,還可以試試其它的MP3 Codec,如LAME(如附圖),雖然與這篇的問題無關,但是可以提昇音質(就當我在多管閒事吧) >PS 我在還沒裝上DIVX5之前是用DIVX 3,那時候錄製MPG-2格式的電視節目是完全沒問題的狀態,但是裝上了DIVX5之後,錄MPG-2的格式就會變得頓頓的,好像會有分格的現象,有人可以告訴我是怎麼回事嗎???謝謝各位大大 理論上,DIVX 5不會影響MPEG2錄影的效能,也沒聽過有這種問題。
__________________
因為在下才疏學淺,若有錯誤請不吝指教。 此文章於 2002-08-07 09:44 PM 被 lwb 編輯. |
||
2002-08-07, 09:39 PM
#2
|
Major Member
加入日期: May 2001
文章: 122
|
引用:
請問這個軟體有什麼特殊功能?可否請您介紹一下 播放可以試用 ffdshow 的 filter 來播放,解碼速度快很多。 聲音的取樣頻率最好是 8(如 48KHz, 24KHz)的倍數,不然很有可能會影音不同步。 |
|
2002-08-08, 12:47 PM
#3
|
Power Member
加入日期: Nov 2000 您的住址: 台灣桃園
文章: 644
|
>請問這個軟體有什麼特殊功能?可否請您介紹一下
我只說*特殊*的部分(略過缺點) 它結合了一些OpenSource的Decoder 可以用來看Mpeg1/2/4的影像, 也可以看DVD(目前沒有選單功能,但是有字幕與AC3支援,不支援DTS) 還有支援收看MPEG的網路廣播,配合專屬的Server(在同一個網站上有) 另外,具有多種作業系統版本,Linux、MacOS X、BeOS上也可用 >播放可以試用 ffdshow 的 filter 來播放,解碼速度快很多。 目前VLC與ffdshow一樣也使用FFMpeg解碼Mpeg4的部分,而且*不使用*DirectShow所以播放效率會比一般播放程式高 而且VLC內建的Mp3解碼Decoder是MAD,比Windows內建的FhG DirectShow decoder快 在我弟弟的P!!! 500上使用VideoLAN可以播放640*480的DivX檔案而且影音同步,使用其它播放程式很難 不過我還是要重複說一次,這個程式的Windows版真的不是很穩(與Linux版相比),而且已知4.2\4.3版在Windows上特別有問題,4.1版在Windows上跑得比較好一些 >聲音的取樣頻率最好是 8(如 48KHz, 24KHz)的倍數,不然很有可能會影音不同步。 會嗎?我是第一次聽到有這種問題。
__________________
因為在下才疏學淺,若有錯誤請不吝指教。 此文章於 2002-08-09 09:51 AM 被 lwb 編輯. |
2002-08-09, 07:02 AM
#4
|
Major Member
加入日期: May 2001
文章: 122
|
引用:
謝謝您的說明。 引用:
請問為什麼不使用 DirectShow 所以播放效率會比一般程式高? 引用:
小弟抓回來試,在小弟的 K6-3 400 上,ffdshow + WMP 6.4 可以跑到 14~20fps,VLC 大概只能解出零星的幾個 keyframe 而且 ffdshow 的程式碼沒有對 3DNow! 做最佳化,只有支援 MMX/SSE。 解碼品質,因為播不順所以也就沒有仔細比較 :P VLC 有幾個 frame 會解錯,看來沒有經過仔細調校。 不過免費的網路 Video server,看來很有潛力 引用:
很久以前有討論過,因為 Fraunhofer IIS Codec 對處理不是 8 的倍數的取樣頻率會導致 AVI 影音不同步,所以建議長時間的作品用 48KHz, 32KHz 來儲存。後來 VirtualDub 據說是有修正了 IIS Codec 的這個問題,不過因為音效卡關係,我還是都錄 48KHz。原文作者的問題(畫面跟不上聲音)我想和這點無關,我只是順帶一提... ^^; |
||||
2002-08-09, 11:02 AM
#5
|
Power Member
加入日期: Nov 2000 您的住址: 台灣桃園
文章: 644
|
>請問為什麼不使用 DirectShow 所以播放效率會比一般程式高?
因為一般使用DirectShow的播放程式在播放檔案的時候要經過許多DirectShow Filters(有用過GraphEdit的話就會知道) 資料在Filter之間傳遞會降低一些效能(雖然這可以透過最佳化來減少效能的降低) 而直接由單一的程式解碼就比較不會有這種問題(但是就不像DirectShow這麼靈活,例如你給它一個Mpeg4+LPCM的AVI,雖然VLC有內建這兩種Decoder,但是就是不會播放) >小弟抓回來試,在小弟的 K6-3 400 上,ffdshow + WMP 6.4 可以跑到 14~20fps,VLC 大概只能解出零星的幾個 keyframe Strange,在我的Athlon 1200和我弟弟的P!!! 500上,都是VLC的CPU使用率較低 而且在P!!! 500上,只有VLC可以順暢的播放部分640*480的DivX檔案 K6-3…我沒用過所以不知道 >而且 ffdshow 的程式碼沒有對 3DNow! 做最佳化,只有支援 MMX/SSE。 有喔,如附圖,你必須要把它開啟 (設定真的有點多…還有各個Decoder的設定) 另外,我這是0.4.1 Win32 GTK+版的抓圖,所以看起來和現在的Win32版不一樣(現在的Win32版在我的電腦上有問題) >解碼品質,因為播不順所以也就沒有仔細比較 :P 解碼品質應該和FFDShow差不多,因為VideoLAN和FFDShow一樣使用FFMpeg解碼引擎播放Mpeg4檔案,只是VideoLAN不提供Post Processing和一些附加的設定 >VLC 有幾個 frame 會解錯,看來沒有經過仔細調校。 VLC用的FFMpeg版本比較舊(FFDShow的更新蠻頻繁的),而且Mpeg4的支援才剛推出,有點不穩是真的 >不過免費的網路 Video server,看來很有潛力
__________________
因為在下才疏學淺,若有錯誤請不吝指教。 此文章於 2002-08-09 10:24 PM 被 lwb 編輯. |
2002-08-09, 10:03 PM
#6
|
Major Member
加入日期: May 2001
文章: 122
|
引用:
原來如此,謝謝您的說明。 不過 DirectShow 資料在主記憶體中應該都是用同一份吧?(直接 point into the buffer)應該很少會用到 copy data。 雖然 buffer 很多多少會拖慢一點速度,不過由單一程式解碼寫不好的話恐怕也不會比 DirectShow 有效率 ^^; 引用:
在 P!!! 500 上 ffdshow 會放不順嗎?(把 post processing 都關掉,用 ffdshow 內建的 ffmpeg 解碼,不要套用 XviD 的解碼 filter) 我想在我的 K6-3 400 上都可以跑到平均 18~20fps(而且是很暴力的那種變態 MPEG-4),P!!! 500 要有 24fps 以上應該沒問題。 引用:
我知道 VLC 有,我是說 ffdshow 沒有針對 3DNow! 做最佳化 :P 所以這一來一往,差距應該會更大才是,可是在我的電腦上反而是 ffdshow 比較快。 引用:
原始的 ffmpeg 解碼 lib 沒有辦法直接套用在每一種 MPEG4 的檔案上(譬如說 DivX 5 的 B-frame),有時候解碼會出現錯誤,所以要加以修改,我記得 ffdshow 的作者就為了這個改了好久。 我剛剛又重灌了一次 VLC,結果這次更慘,連檔案都無法播放 XD 不知道您說的 0.4.1 Win32 GTK+ 在哪裡可以下載呢?小弟想試試看。 看看可不可以不用換電腦就可以跑到 24fps,這樣我就可以繼續撐著用... ^^; |
||||
2002-08-11, 01:46 AM
#7
|
Power Member
加入日期: Nov 2000 您的住址: 台灣桃園
文章: 644
|
>不過 DirectShow 資料在主記憶體中應該都是用同一份吧?(直接 point into the buffer)應該很少會用到 copy data。
這要看Filter怎麼寫;當然,可能的話filter的作者當然都會盡量避免Copy大量的資料。 >雖然 buffer 很多多少會拖慢一點速度,不過由單一程式解碼寫不好的話恐怕也不會比 DirectShow 有效率 ^^; 這是真的。 >在 P!!! 500 上 ffdshow 會放不順嗎?(把 post processing 都關掉,用 ffdshow 內建的 ffmpeg 解碼,不要套用 XviD 的解碼 filter) 以640*480的DivX影片來說(當然,視影片而定) 在我弟弟的電腦上ffdshow只能跑到15fps左右 但是DivX5(的DS filter)可以到24~26fps VLC可以到30fps >我想在我的 K6-3 400 上都可以跑到平均 18~20fps(而且是很暴力的那種變態 MPEG-4),P!!! 500 要有 24fps 以上應該沒問題。 >我知道 VLC 有,我是說 ffdshow 沒有針對 3DNow! 做最佳化 :P 啊,我看錯了。 >所以這一來一往,差距應該會更大才是,可是在我的電腦上反而是 ffdshow 比較快。 速度也可能與CPU種類與播放的影片壓縮時使用的Codec有關 在我的電腦(Athlon 1200)上是VLC ~= ffdshow > DivX5 > XviD(以1024*768的DivX 5測試,其它檔案大多也是這樣) 而在我弟弟的P!!! 500上則是 VLC > DivX5 > ffdshow(以DivX3的影片測試) 結果很奇怪,所以好像沒有「一定」會最快的Decoder >原始的 ffmpeg 解碼 lib 沒有辦法直接套用在每一種 MPEG4 的檔案上(譬如說 DivX 5 的 B-frame),有時候解碼會出現錯誤,所以要加以修改,我記得 ffdshow 的作者就為了這個改了好久。 不過FFMpeg也一直在改版中,所以以後應該會改善。 >我剛剛又重灌了一次 VLC,結果這次更慘,連檔案都無法播放 XD >不知道您說的 0.4.1 Win32 GTK+ 在哪裡可以下載呢?小弟想試試看。 我是以前在官方網站下載的(現在沒放了,因為大部分人應該比較習慣Win32介面) GTK+只是使用者介面不一樣而已,其它部分相同 沒有比較好看…連中文都沒辦法顯示;只是Win32版在我的電腦上會出現一大堆「RichEdit Line Insertion Error」錯誤對話框所以才用GTK+介面 附帶一提,3.X之前VLC只有GTK+,Win32介面是4.x才新增的,能用的話還是用它吧 >看看可不可以不用換電腦就可以跑到 24fps,這樣我就可以繼續撐著用... ^^;
__________________
因為在下才疏學淺,若有錯誤請不吝指教。 此文章於 2002-08-13 02:20 AM 被 lwb 編輯. |
2002-08-13, 01:59 AM
#8
|