2013-01-11 76 views
0

使用python我想監視在錄製時由另一個進程寫入硬盤的.avi原始RGB視頻文件。所以我需要的是重複給我磁盤上視頻文件的當前最後一幀(或第n幀)。從視頻中讀取.avi文件正在寫入

我已經嘗試過使用OpenCV,但是這隻給了我當前的最後一幀,第一次到達最後一幀後再次調用QueryFrame不會返回更多圖像。

所以基本上我正在尋找像this,但爲.avi視頻文件。另外對於我來說,如果幀被跳過,這不是問題,這足以讓一秒鐘的新幀產生。

+1

你完全關閉並重新打開所有資源'OpenCV'使用循環的每次迭代?也許你正在遭受緩衝... –

+0

你是對的,關閉並重新打開確實解決了這個問題,非常感謝! – user1967895

+0

我會從我的評論中創建一個答案,以便您可以將此線程標記爲「已答覆」。 –

回答

0

您必須在每次循環迭代結束時關閉.avi-文件,然後重新打開它。

編輯:藝術請求代碼示例。這裏是。

while True: 
    with open("test.avi") as fh: 
     get_last_frame() 
    wait_or_do_whatever_you_want() 

我不知道OP如何使用AVI格式,但這不是問題的一部分。

+0

您是否有任何示例代碼來說明解決方案? – art