0

Flash(AS3)を使用してロードするビデオ(MP4)があります。NetStreamオブジェクトを使用してビデオをローカルにロードし、ピクセルをサンプリングすると、少し「オフ」になります。

これをテストするために、赤のピクセルのみの100フレームのビデオを準備しました(すべてのピクセルは0xFF0000です)。

flashのNetStreamクラスを使用してこのビデオをロードし、「getPixel」を使用して表示されているフレームのピクセルカラーをテストすると、ピクセルカラーは次のようになります。

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

「緑」の値が0ではないのはなぜですか?

また、緑色のフレームのみを含むビデオをロードすると、Flashがロードされた後のピクセルの値は次のようになります。

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

青いビデオフレームのみが正しい(0,0,255)。

どうしてこれなの ?フラッシュがビデオをデコードし、色を変更する処理を実行している可能性がありますか?

さまざまなピクセルをサンプリングして検出するため、色を正確にする必要があります。また、実際のビデオとまったく同じように色を表示する必要があります。

ありがとう。

4

1 に答える 1

0

あなたはここにいる同一人物ですか?私はbwhitingによって提供された答えを二番目にします:

これは、フラッシュでのリードバックではなく、エンコード プロセスになります。私はこれと最良の解決策で多くのテストを行いました(ビデオピクセルにデータを埋め込む場合は、しきい値を使用することです..値は根本的にアウトではなく、わずかにしかないため..しかし、これは圧縮方法に基づいて変化します.クリップは - 圧縮率が高い = 色情報の精度が低い)

赤または緑のビデオをエンコードする際の損失に関連している必要があります。

于 2012-11-21T14:46:16.840 に答える