PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 數位影音討論群組 > VIVO討論區 (數位機上盒)
帳戶
密碼
 

回應
 
主題工具
imai_aya
Basic Member
 
imai_aya的大頭照
 

加入日期: Jul 2002
文章: 16
Unhappy 用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
回應時引用此文章
imai_aya離線中  
lwb
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
回應時引用此文章
lwb離線中  
LIBIDO
Major Member
 

加入日期: May 2001
文章: 122
引用:
Originally posted by lwb

或是你可以試著使用一些效率比較高的播放程式,例如VideoLAN Client:
http://www.videolan.org/
不過小心這個程式還有一點不穩,而且設定有點多不太好用

請問這個軟體有什麼特殊功能?可否請您介紹一下

播放可以試用 ffdshow 的 filter 來播放,解碼速度快很多。
聲音的取樣頻率最好是 8(如 48KHz, 24KHz)的倍數,不然很有可能會影音不同步。
舊 2002-08-08, 12:47 PM #3
回應時引用此文章
LIBIDO離線中  
lwb
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
回應時引用此文章
lwb離線中  
LIBIDO
Major Member
 

加入日期: May 2001
文章: 122
引用:
Originally posted by lwb
>請問這個軟體有什麼特殊功能?可否請您介紹一下

我只說*特殊*的部分(略過缺點)
它結合了一些OpenSource的Decoder
可以用來看Mpeg1/2/4的影像,
也可以看DVD(目前沒有選單功能,但是有字幕與AC3支援,不支援DTS)
還有支援收看MPEG的網路廣播,配合專屬的Server(在同一個網站上有)
另外,具有多種作業系統版本,Linux、BSD上也可用

謝謝您的說明。
引用:
>播放可以試用 ffdshow 的 filter 來播放,解碼速度快很多。

目前VLC與ffdshow一樣也使用FFMpeg解碼Mpeg4的部分,而且*不使用*DirectShow所以播放效率會比一般播放程式高

請問為什麼不使用 DirectShow 所以播放效率會比一般程式高?
引用:
在我弟弟的P!!! 500上使用VideoLAN可以播放640*480的DivX檔案而且影音同步,使用其它播放程式很難

小弟抓回來試,在小弟的 K6-3 400 上,ffdshow + WMP 6.4 可以跑到 14~20fps,VLC 大概只能解出零星的幾個 keyframe
而且 ffdshow 的程式碼沒有對 3DNow! 做最佳化,只有支援 MMX/SSE。
解碼品質,因為播不順所以也就沒有仔細比較 :P
VLC 有幾個 frame 會解錯,看來沒有經過仔細調校。

不過免費的網路 Video server,看來很有潛力
引用:
>聲音的取樣頻率最好是 8(如 48KHz, 24KHz)的倍數,不然很有可能會影音不同步。

會嗎?我是第一次聽到有這種問題。

很久以前有討論過,因為 Fraunhofer IIS Codec 對處理不是 8 的倍數的取樣頻率會導致 AVI 影音不同步,所以建議長時間的作品用 48KHz, 32KHz 來儲存。後來 VirtualDub 據說是有修正了 IIS Codec 的這個問題,不過因為音效卡關係,我還是都錄 48KHz。原文作者的問題(畫面跟不上聲音)我想和這點無關,我只是順帶一提... ^^;
舊 2002-08-09, 11:02 AM #5
回應時引用此文章
LIBIDO離線中  
lwb
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
回應時引用此文章
lwb離線中  
LIBIDO
Major Member
 

加入日期: May 2001
文章: 122
引用:
Originally posted by lwb
>請問為什麼不使用 DirectShow 所以播放效率會比一般程式高?

因為一般使用DirectShow的播放程式在播放檔案的時候要經過許多DirectShow Filters(有用過GraphEdit的話就會知道)
資料在Filter之間傳遞會降低一些效能(雖然這可以透過最佳化來減少效能的降低)
而直接由單一的程式解碼就比較不會有這種問題(但是就不像DirectShow這麼靈活,例如你給它一個Mpeg4+LPCM的AVI,雖然VLC有內建這兩種Decoder,但是就是不會播放)

原來如此,謝謝您的說明。
不過 DirectShow 資料在主記憶體中應該都是用同一份吧?(直接 point into the buffer)應該很少會用到 copy data。
雖然 buffer 很多多少會拖慢一點速度,不過由單一程式解碼寫不好的話恐怕也不會比 DirectShow 有效率 ^^;
引用:
>小弟抓回來試,在小弟的 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…我沒用過所以不知道

在 P!!! 500 上 ffdshow 會放不順嗎?(把 post processing 都關掉,用 ffdshow 內建的 ffmpeg 解碼,不要套用 XviD 的解碼 filter)
我想在我的 K6-3 400 上都可以跑到平均 18~20fps(而且是很暴力的那種變態 MPEG-4),P!!! 500 要有 24fps 以上應該沒問題。
引用:
>而且 ffdshow 的程式碼沒有對 3DNow! 做最佳化,只有支援 MMX/SSE。

有喔,如附圖,你必須要把它開啟
(設定真的有點多…還有各個Decoder的設定)
另外,我這是0.4.1 Win32 GTK+版的抓圖,所以看起來和現在的Win32版不一樣(現在的Win32版在我的電腦上有問題)

我知道 VLC 有,我是說 ffdshow 沒有針對 3DNow! 做最佳化 :P
所以這一來一往,差距應該會更大才是,可是在我的電腦上反而是 ffdshow 比較快。
引用:
>VLC 有幾個 frame 會解錯,看來沒有經過仔細調校。

VLC用的FFMpeg版本比較舊(FFDShow的更新蠻頻繁的),而且Mpeg4的支援才剛推出,有點不穩是真的

原始的 ffmpeg 解碼 lib 沒有辦法直接套用在每一種 MPEG4 的檔案上(譬如說 DivX 5 的 B-frame),有時候解碼會出現錯誤,所以要加以修改,我記得 ffdshow 的作者就為了這個改了好久。
我剛剛又重灌了一次 VLC,結果這次更慘,連檔案都無法播放 XD
不知道您說的 0.4.1 Win32 GTK+ 在哪裡可以下載呢?小弟想試試看。
看看可不可以不用換電腦就可以跑到 24fps,這樣我就可以繼續撐著用... ^^;
舊 2002-08-11, 01:46 AM #7
回應時引用此文章
LIBIDO離線中  
lwb
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
回應時引用此文章
lwb離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是04:44 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2024。