最近接手同事一專案,采集usb攝像頭,生成AVI檔案,同事使用DirectShow實作,發現一個問題,當有音頻輸入設備時,我錄制成WMV的總時間與程式界面顯示一致,當沒有音頻輸入設備時,錄制成AVI的總時間與程式界面顯示不一致,錄制的時間越長,差的時間越多。
AVI的Graph如下:

WMV的Graph如下:

有以下幾個疑問:
1. 生成WMV時,參考時鐘是有效的?而生成AVI時,沒有有效的時鐘?
2. 如果需要手動給AVI加時鐘,該怎么做?最近也在看MSDN,沒太看明白
3. 如果我只采集視頻,并保存成WMV,該怎么做?使用哪些Filter?DMO?
4. USB Camera2.0的視頻格式是yuv2,怎么用?
uj5u.com熱心網友回復:
自己頂一下!uj5u.com熱心網友回復:
參考AMCP的原始碼 里面都有的
uj5u.com熱心網友回復:
AMCAP
uj5u.com熱心網友回復:
1:你的時間只是獲的的系統時間吧?并不是視頻檔案的時間,假設在開始錄像的一刻,獲的了系統時間,但是這個時候ds可能還在初始化一些東西,并沒有開始寫入檔案操作,所以獲的系統時間長短和視頻的時間長短會不一樣2:加時鐘是指什么?建議錄制視頻用ffmpeg
3:這個還是建議用ffmpeg去做,不是在實驗室的話,就用現成的吧
4:格式的用法只要保證發送和接收一致就可了,可以先用下ffmpeg+ds,看看能不能正常的獲的視頻流,如果可以的話,那保存應該也沒什么問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/116849.html
標籤:基礎類
