Actionscript 3 为什么用Flash(AS3)加载视频会稍微改变像素颜色?

Actionscript 3 为什么用Flash(AS3)加载视频会稍微改变像素颜色?,actionscript-3,flash,colors,Actionscript 3,Flash,Colors,我有一个视频(MP4)我加载使用闪存(AS3)。 我使用NetStream对象本地加载视频, 当我对像素进行采样时,它们有点“差” 为了测试这一点,我准备了一个只有100帧红色像素的视频(所有像素都是0xFF0000) 当我使用flash的NetStream类加载此视频时, 然后使用“getPixel”测试所示帧的像素颜色, 我得到的像素颜色是: R=255 G=12 B=0 为什么“绿色”值不是0 另外,当我加载一个只包含绿色帧的视频时, 闪存加载后的像素值为: R=0 G=232 B

我有一个视频(MP4)我加载使用闪存(AS3)。 我使用NetStream对象本地加载视频, 当我对像素进行采样时,它们有点“差”

为了测试这一点,我准备了一个只有100帧红色像素的视频(所有像素都是0xFF0000)

当我使用flash的NetStream类加载此视频时, 然后使用“getPixel”测试所示帧的像素颜色, 我得到的像素颜色是:

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

为什么“绿色”值不是0

另外,当我加载一个只包含绿色帧的视频时, 闪存加载后的像素值为:

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

只有蓝色视频帧是正确的(0,0255)

为什么会这样?是否可能是flash对视频进行解码并对其执行某些处理以改变颜色

我需要的颜色是准确的,因为我采样不同的像素来检测东西,我需要的颜色显示完全一样,他们真的在视频中

谢谢。

你是同一个人吗?我会支持b希廷提供的答案:

这将是编码过程,而不是闪存中的回读。我有 用这个和最好的解决方案做了很多测试(如果你正在嵌入 视频像素中的数据,使用的是阈值。因为它们的值不应该 从根本上说,这只是一个微小的变化,但这将再次改变 根据剪辑的压缩程度-压缩程度越高=精确度越低 颜色信息)


它必须与编码红色或绿色视频时的丢失有关。

但是,当我使用媒体播放器打开视频并抓取图像时,值怎么会正确?如果我用VLC打开它-值不正确。几乎就好像-每个解码器决定以不同的方式解码值(并随之闪烁)