2012-11-20 35 views
0

我有使用Flash加載的視頻(MP4)(AS3)。 我使用NetStream對象在本地加載視頻, ,當我對像素進行採樣時 - 它們有點「關閉」。爲什麼使用Flash加載視頻(AS3)會改變像素顏色?

爲了測試這個 - 我準備了一個100幀只有紅色像素的視頻(所有的像素都是0xFF0000)。

當我使用閃光燈的NetStream類, 加載此視頻,然後使用「getPixel」來測試所示的幀的像素的顏色, 我得到的像素顏色是:

  • R = 255
  • G = 12
  • B = 0

爲什麼'綠色'值不是0?

此外,當我加載包含僅綠色幀的視頻, 的像素的值之後快閃存儲器載入,它是:

  • R = 0
  • G = 232
  • B = 0

只有藍色視頻幀是正確的(0,0,255)。

這是爲什麼?閃光燈是否可以解碼視頻並對其進行一些處理以改變顏色?

我需要的顏色是準確的,因爲我採樣不同的像素來檢測的東西,我需要的顏色顯示完全像他們真的在視頻中!

謝謝。

回答

0

你是同一個人here

這將是編碼過程中不閃回讀:我想第二個答案通過bwhiting提供。我有 用這個和最好的解決方案做了很多測試(如果你在視頻像素中嵌入 數據,就是使用閾值..因爲它們的值不應該是 從根本上出來,但只是勉強...但是這也會改變 基於如何壓縮剪輯 - 更多壓縮=不太準確 顏色信息)

它必須與編碼紅色或綠色視頻時的損失相關。

+0

但是,當我使用媒體播放器打開視頻時 - 以及抓取圖像 - 值是否正確? 如果我用VLC打開它 - 值不正確。 這幾乎就像 - 每個解碼器都決定對這些值進行不同的解碼(以及Flash) –

相關問題