2011-08-02 41 views
1

我有一個朋友,他的工作是觀看視頻並記錄屏幕上發生什麼事情的時間。大多數時候它只是一個藍/白屏幕,所以幾乎沒有變化。這是一個外部視頻,所以顏色隨着時間的推移而變化。這也是一個下雪的地區,所以天空和地面之間幾乎沒有區別。檢測視頻中的更改

我想知道是否有一種方法可以輕鬆找到屏幕上發生的事情,而無需坐下來觀看它。我想到了這樣做的兩種方法。

  1. 該視頻編碼爲H.264,使用增量壓縮。 有沒有一種工具可以繪製特定的 框架中使用的數據量?比特率峯值將指示視頻上的活動。 這將有助於在快速掃描中找到每個活動點。

  2. 其次,將有可能使用腳本程序,如AutoIt的 查看的幀,並得到一個平均顏色,然後發出警報聲時 像素一定數量落在「耐受度」外附近的平均顏色爲 。視頻仍然需要播放,開始到 結束,但沒有必要關注這個事情。

是否有這樣的工具可用於#1?如果有必要,我可以爲#2編寫代碼,我只是想我會看到有哪些資源可用。

+0

剛剛找到一個很好的資源。 ZoneMinder是一個開源程序,它將處理視頻文件並輸出檢測到運動的「事件」。這看起來正是我所需要的。 – Alex

回答

1

在AutoIt中檢查PixelGetColor(用於單個像素)或PixelSearch(用於掃描矩形)。 您可以使用PixelGetColor保存像素顏色,並且每秒鐘檢查相同的位置。如果新價值與舊價格有所不同,爲了增加檢測更改的機會,您當然應該檢查多個像素。

如果您知道您正在搜索的顏色使用PixelSearch。 PixelSearch能夠掃描整個矩形。 它甚至有一個「陰影變化」參數,您可以指定搜索特定顏色時想要的容差。

1

您可以使用autoIt來對屏幕上的多個像素進行採樣並返回顏色。然後追蹤它是否劇烈變化。也許在一個人尺寸的盒子裏。它完全支持從屏幕捕捉和解碼屏幕元素。然後可以發送電子郵件或短信提醒。