如果您从
your demo开始使用QuickTime,您将看到一个带有独立RGB和A区域的视频:
如果然后查看演示的代码,您将看到它正在使用一个非屏幕HTML5画布来绘制每个视频帧,从该画布的下半部分读取Alpha像素,以在然后使用putImageData将结果推送到实际显示视频的另一个HTML5 Canvas.
function processFrame() {
buffer.drawImage(video, 0, 0);
var image = buffer.getImageData(0, 0, width, height),
imageData = image.data,
alphaData = buffer.getImageData(0, height, width, height).data;
for (var i=3, len=imageData.length; i
imageData[i] = alphaData[i-1];
}
output.putImageData(image, 0, 0, 0, 0, width, height);
}
加上整个网络的各种声明,H.264不支持alpha,我几乎确信H.264不能有alpha.我说这个是因为我发现多次引用这个2006年苹果计算机引用的更新的QuickTime在他们的“豹”版本的OS X:
QuickTime’s plumbing is receiving significant upgrades in Leopard. There have been significant enhancements in handling the H.264 encoding. Also, transparent alpha layers, an optional part of the H.264 specification, are now supported in H.264-based QuickTime movies. And finally, QuickTime supports 64-bit.
然而,我发现与这个营销报价相关的唯一的事情是this document显示了如何改变QuickTime Pro中视频图层的整体不透明度.
博客讨论了H.264编码是否支持Alpha透明层的问题。作者通过分析QuickTime在不同版本中的变化,以及代码示例,指出尽管有声明表明H.264支持透明度,但实际应用中可能并不常见。文章提到,透明视频处理通常涉及额外的后期处理步骤,如使用HTML5 Canvas进行像素操作。
1988

被折叠的 条评论
为什么被折叠?



