我正在尝试使用Capturestream API将画布流发送到Peerconnection。我遇到了一个问题,即Canvas的透明像素(alpha通道)不是通过Webrtc发送的,而是被黑色像素取代。我知道这是Webrtc上的一个已知问题,这里有一个链接[https://bugs.chromium.org/p/chromium/issues/detail?id=524218 ]。由于Webrtc技术正在高速迭代,我想知道是否有人知道这个问题的解决方法?
显然,here有一个修正案,在那里说:
此CL更改画布捕获中的输出帧格式 I420到YV12A以便保留alpha通道。
不幸的是我找不到如何实现它的方法。
答案 0 :(得分:1)
这是正常的,因为WebRTC还不支持alpha通道。 WebRTC将像素块转换为I420像素格式,具有24位通道,不支持Alpha通道。另一方面,流将转换回另一个像素,但alpha通道信息将丢失。
链接显示了Hangouts for Chromium项目的一些私有API实现。我不认为它与WebRTC有关
如果现在必须使用Alpha通道
,我建议使用网络套接字