2016-12-05 232 views
1

我试图使用Capturestream API将画布流发送到Peerconnection。我遇到了一个问题,Canvas的透明像素(Alpha通道)不是通过Webrtc发送的,而是由黑色像素代替。我知道这是Webrtc上的一个已知问题,这里是一个链接[https://bugs.chromium.org/p/chromium/issues/detail?id=524218]。由于Webrtc技术正在快速迭代,我想知道有没有人知道这个问题的解决方法?通过Webrtc获取CaptureStream API中的Alpha透明度

显然,存在对here一个解决方法,它在那里被指出:

使得alpha通道被保留这CL改变画布捕获输出帧格式从 I420到YV12A。

不幸的是我找不到如何实现这一点。

回答

0

这是正常的,因为WebRTC还不支持alpha通道。 WebRTC将像素块转换为具有24位通道的I420像素格式,并且不支持Alpha通道。另一方面,流将被转换回另一个像素,但alpha通道信息将会丢失。

链接显示了环聊for Chromium项目的一些私有API实现。我不认为这是相关的WebRTC

我会建议使用网络套接字,如果Alpha通道是必须功能现在