html alpha使用方法,如何使用HTML5画布创建一个带Alpha通道的h264视频?

博客讨论了H.264编码是否支持Alpha透明层的问题。作者通过分析QuickTime在不同版本中的变化,以及代码示例,指出尽管有声明表明H.264支持透明度,但实际应用中可能并不常见。文章提到,透明视频处理通常涉及额外的后期处理步骤,如使用HTML5 Canvas进行像素操作。

如果您从

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中视频图层的整体不透明度.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值