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

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

  回應
 
主題工具
QQQQ
Junior Member
 

加入日期: Mar 2000
您的住址: 北半球
文章: 931
引用:
Originally posted by lwb
>沒錯,還有高速的硬碟機喔!最好是10000轉以上的SCSI硬碟!
>當然7200rpm的IDE硬碟也可以,但是隨便動一下就很容易掉格。

我一直搞不懂,為什麼錄即時壓成MPEG1/2/4這些流量*相對*較低的格式的時候還是要這麼高速的硬碟機?
我從沒用過SCSI硬碟機(只有慢速的舊SCSI卡接一些慢速的裝置),所以也沒辦法驗證SCSI硬碟的神奇
但我可不認為我隨便動一下導致讓我掉格的原因來自硬碟(還是你的動電腦是指搖晃電腦主機?),因為我平常錄成MPEG2根本用不到硬碟寫入速度的1/10,附帶一提,我平常錄影很小氣的只錄4Mbps(反正訊源不好),但我的IDE硬碟寫入速度約有20MBps==160Mbps
在這種情況下,改善錄影軟體或是壓縮Codec的效率或是換CPU都比換硬碟有效得多


需要高速硬碟機這個應該是「極限吞吐量」的那個門檻
也就是說當 CPU 同時控制 DMA 與處理捕捉程序時
若達到頂點 (100%), 這時 DMA 是優先處理的, 之後才是影像捕捉程序
然後捕捉軟體就會發現影像比預計的格數要少 .... 定義為掉格

在實際應用上來說
影像掉格時若掉的是同一區段
那影像就完全 freeze 住了
這點我在 mjpeg 時有欲到過

一般以目前的 DMA/33 來說
足夠任何影像寫入需求
很不容易有 33MB/s 的影像要寫入吧?

還有就是軟體快取這方面的問題
matrox 有一篇如何最佳化非線性影像處理的文章
裡頭有提到關閉軟體 cache

原理是若有軟體 cache
一開始寫入時, 硬碟資料並未寫入, 而是寫到實體記憶體中
等到實體記憶體滿了, 軟體 cache 控制會將實體記憶體資料搬到硬碟
這些步驟全部是 cpu 運作
如此一來 cpu 基礎使用率就比關掉軟體 cache 要來的高

以上
     
      
舊 2002-06-24, 02:01 AM #11
回應時引用此文章
QQQQ離線中  
lwb
Power Member
 

加入日期: Nov 2000
您的住址: 台灣桃園
文章: 644
其實我原本不是要詢問的;所以也沒有期望能得到回應,沒想到卻引來有趣的回答(我喜歡這種互相討論的感覺)

>需要高速硬碟機這個應該是「極限吞吐量」的那個門檻
>也就是說當 CPU 同時控制 DMA 與處理捕捉程序時
>若達到頂點 (100%), 這時 DMA 是優先處理的, 之後才是影像捕捉程序
>然後捕捉軟體就會發現影像比預計的格數要少 .... 定義為掉格

但是因為計算DMA的記憶體位址對現在的電腦來說應該是輕而易舉的事,並不需要花費多少時間,計算完馬上就可以交回Processor的控制權,而影像擷取的資料都有Buffer在記憶體中,所以只是因為稍微延遲一點點並不會導致掉格,所以以上情況發生機率應該極小
所以要不是因為壓縮的Codec來不及,很少會造成掉格的(應該是啦)

>在實際應用上來說
>影像掉格時若掉的是同一區段
>那影像就完全 freeze 住了
>這點我在 mjpeg 時有欲到過

看不懂。

>一般以目前的 DMA/33 來說
>足夠任何影像寫入需求
>很不容易有 33MB/s 的影像要寫入吧?

我指的不是傳輸速度介面的問題,硬碟的實際寫入速度一定都比傳輸介面慢,所以我上面舉的例子其實是我自己做簡單的Banchmark後的結果
不過其實我的想法與你相同——現在的IDE硬碟的速度已經足以擔任一般錄影的工作了

>還有就是軟體快取這方面的問題
>matrox 有一篇如何最佳化非線性影像處理的文章
>裡頭有提到關閉軟體 cache

>原理是若有軟體 cache
>一開始寫入時, 硬碟資料並未寫入, 而是寫到實體記憶體中
>等到實體記憶體滿了, 軟體 cache 控制會將實體記憶體資料搬到硬碟
>這些步驟全部是 cpu 運作
>如此一來 cpu 基礎使用率就比關掉軟體 cache 要來的高

同樣的情況VirtualDub的作者也提到過,作業系統內建的Cache功能不適用於錄影
所以VirtualDub錄影的時候完全不使用作業系統的Cache,而使用錄影軟體內建的的Buffer對Codec壓縮後的資料寫入硬碟的數量作最佳化
這也是我說改善錄影軟體比換硬碟的效果更好的原因
還有,如果錄影軟體沒有內建Buffer的話,使用作業系統的cache仍然是必要的,否則掉格機率可能會更高,因為硬碟在寫入資料的過程的關係……應該沒人有興趣吧?有興趣的人自己去找計算機結構的書,或者再發問吧

附帶一提,給使用VirtualDub而不知道有這功能的人:
在Capture Mode時,選Capture->Disk IO
Chunk Size設為比你硬碟內建快取記憶體少,但是不要太小的數值(例如512K或1MB)
Chunk數量則看你記憶體多寡調整,記憶體多而且要進行高位元率錄影的話可以調大一些避免掉格(我是設32,但通常不用這麼大,設了也沒用)
底下的「Disable Windows write buffering」一定要勾
 
__________________
因為在下才疏學淺,若有錯誤請不吝指教。

此文章於 2002-06-24 05:18 AM 被 lwb 編輯.
舊 2002-06-24, 04:36 AM #12
回應時引用此文章
lwb離線中  


    回應


POPIN
主題工具

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

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



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


vBulletin Version 3.0.1
powered_by_vbulletin 2024。