2010-01-07 73 views
2

我正在開發一款軟件,將視頻從實時源錄製到WMV文件(使用WMV1壓縮)。估計剩餘的視頻錄製時間

我試圖根據存儲硬盤上剩餘的空間提供剩餘錄製時間的粗略估計。不幸的是,我不能簡單地將輸出文件大小作爲編解碼器的比特率,因爲視頻壓縮意味着輸出大小根據圖像的複雜程度而變化很大。

有什麼想法?

僅供參考我正在使用C#和DirectShow。

回答

1

這是一個非常好的問題。不幸的是,有沒有這樣做的最好方法,但你有兩個基本的選擇:提前

  1. 計算在給定的比特率每給定的時間單位的平均使用空間的基礎上,從編解碼器的實驗或數據供應商。
  2. 從技術#1開始,然後創建一種機制,用於通過將當前正在使用的空間除以總記錄時間來確定給定記錄過程中使用的平均空間。然後,使用此度量來確定剩餘時間量。

選項1是一種快速簡單的入門方法。選項2需要更多的編程,但您的估計將更準確。畢竟,這些實例中的壓縮是基於您正在錄製的內容。錄製一個堅實的綠色屏幕1小時比使用連續變化的前景錄製移動背景要少得多,或者可能是分形序列。提前做好估計是沒有辦法的。

0

您只能使用最近x秒內收到的壓縮率來估計未來的壓縮大小。不要太大,或者太小。

時間太短意味着時間可能會大幅改變(取決於視頻中的運動量),太長的時間意味着時間會非常不準確。

我猜測30秒的時間可以提供合理的準確度

相關問題