2011-10-18 131 views
1

用C#編寫的應用程序正在使用DirectShow將音頻+視頻錄製到AVI文件中。 但是,視頻源產生不穩定的幀速率。例如,將幀速率設置爲24 fps時,實際速率會在24至30 fps之間抖動。抖動視頻源幀速率

這會導致生成的AVI文件中的音頻/視頻同步問題。

一個可能的解決方案是在圖形中添加一個過濾器(在寫入AVI之前),以調整速率 - 丟棄幀或複製幀以保持請求的速率。

您認爲解決方案是否可行?
對此問題的其他解決方案?

謝謝,
Ury。

回答

2

AVI容器使用固定幀率,需要在啓動文件之前提供。視頻幀必須與幀速率匹配,否則如果沒有足夠的數據,則可以丟棄它們(零長度幀)。因此,AVI格式對於可變幀頻視頻來說並不是那麼好。

選項供您:

  • 調整如你所說
  • 使用更好的適合容器格式
  • 使用高AVI框架與大幅下跌的幀頻速度,存儲所有幀靈活的視頻幀的時間使用較小的時間網格框架
+0

不幸的是,AVI容器是一個需求。你能否進一步解釋第三種選擇? –

+0

你可以用例如60fps,然後重複幀而不是放下它們。不過,我會建議你調查爲什麼源幀率不穩定,如果有什麼可以做的。因爲如果信號源不穩定,幾乎不可能獲得平滑無抖動的視頻。 –

相關問題