none
TVideoGrabber擷取影像問題 RRS feed

  • 問題

  • 請教各位:

    最近使用 TVideoGrabber 這個元件開發擷取影像,並存成avi的影片格式,而本身擷取影像是使用元件裡面的onFrameCaptureCamplete

    的事件去處理。

    再這裡發生了一個問題在錄製每秒30張的影片時,會有掉張的現象(下一張與前一張無法連貫),所以我是使用onFrameCaptureCamplete裡面的FrameTime變數去觀察擷取影像的時間,結果理論上因該會是平均0.033秒去擷取影像,但是在掉張的區段所擷取影像時間是0.066秒。

           後來我在錄製影像部分加入PeekMessage去過濾訊息,是能改善此問題,但是換到配備比較低的(EXXPC)的電腦上run,問題又出現了。但是我使用微軟amcap卻沒有這種問題,想請教一下,是什麼主要原因造成此問題??

    感謝耐心看文此問題!!

    2014年5月29日 上午 08:56

解答

所有回覆

  • 你需要問元件商。

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年5月29日 下午 03:08
  • 使用微軟amcap配備比較低的電腦run也不會掉張嗎? 解析度有一樣嗎? 一般如果運算不夠快, 就要降解析度
    2014年5月30日 上午 12:20
  • 謝謝你的回覆

    使用amcap在低配備電腦,用同一個解析度run也不會掉張

    2014年5月30日 上午 01:08
  • 謝謝你的回覆:

    不好意思我問的不好!!

    2014年5月30日 上午 01:13
  • 看起來是把簽名檔當回文看。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年5月30日 下午 03:22
  • 有參考過AmCap的原始碼嗎?

    2014年5月31日 上午 06:33
  • 看起來是把簽名檔當回文看。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    不好意思,第一次使用論壇,會錯意了~~>.<!!
    2014年6月3日 上午 03:00
  • 有參考過AmCap的原始碼嗎?

    有,不過我錄影方式不一樣,因為我需要錄影停止前?秒+錄影停止後?秒所合成的影片,所以我使用一張一張bitmap存進buf,等接收錄影停止的訊息,再將buf存成影片,不知道這種方法會不會影響,正在測試中!!
    2014年6月3日 上午 03:14
  • 是有可能, 因為合成影片處理必須有完整的Bitmap資料, 也就是不能以串流的方式處理, 當然消耗的記憶體也會多很多, 處理效率也會有影響.

    您可以將合成的動作註解掉就可以知道了

    2014年6月3日 上午 04:06
  • 是有可能, 因為合成影片處理必須有完整的Bitmap資料, 也就是不能以串流的方式處理, 當然消耗的記憶體也會多很多, 處理效率也會有影響.

    您可以將合成的動作註解掉就可以知道了

    有考慮到這個問題,後來我修改成固定buf,每當buf存完以後就指向第一個位置開始覆蓋,這樣重複使用,這樣做法也無法改善,現在想說有沒有辦法跟系統要資源去執行,不受其他事件影響。
    2014年6月4日 上午 07:40
  • 跟系統要資源, 可以要一個優先權比較高的執行緒來執行擷取Frame的動作, 不過如果合成圖片的速度太慢又會影響重覆使用buf的動作
    2014年6月5日 上午 02:12