Webrtc 编辑本地流

Webrtc 编辑本地流,webrtc,getusermedia,Webrtc,Getusermedia,在通过peerConnection()将本地视频流“localStream”发送给另一个对等方之前,是否有方法编辑该本地视频流 这里有一些关于明天的假设 您可以获取UserMedia。在视频元素中渲染流。使用MediaSourceAPI,获取缓冲区;操纵他们。你想干什么就干什么 然后从“视频”元素捕获流 如果MediaSource API本身能够像WebAudio API那样为我们生成流,那就太好了 嗯,您可以像这样附加流(在音频/视频曲目上应用一些效果后): 明天用?您可以将localStre

在通过peerConnection()将本地视频流“localStream”发送给另一个对等方之前,是否有方法编辑该本地视频流

这里有一些关于明天的假设

您可以获取UserMedia。在视频元素中渲染流。使用MediaSourceAPI,获取缓冲区;操纵他们。你想干什么就干什么

然后从“视频”元素捕获流

如果MediaSource API本身能够像WebAudio API那样为我们生成流,那就太好了

嗯,您可以像这样附加流(在音频/视频曲目上应用一些效果后):


明天用?您可以将localStream发送到MediaSource对象,该对象可以在添加到peer.addStream()之前进行操作?我的意思是MediaSource API在chrome canary和/或Firefox上的支持有限。您今天无法捕获预录制的媒体。例如vide.captureStream()是一个应由浏览器供应商实现的函数;但它仍在起草中。使用FileReader API,您可以获得阵列缓冲区;将它们转换成团块;将这些blob转换为“类型化”Uint8Array。使用这些uint8Array,您可以获得预定义的数据块。您可以根据需要操纵这些块。好消息是,您可以在视频元素上播放这些数据块。然后您可以从该视频元素捕获流!
navigator.getUserMedia({video: true, audio: true}, function(localMediaStream) {
var video = document.querySelector('video');

//How do I say edit a few pixes in the localMediaSttream before 
//using peerConnection() to    send it to another peer?
 }, onFailSoHard);
peer.addStream ( new webkitStream (
    yourStream.audioTracks || yourStream.getAudioTracks(), 
    yourStream.videoTracks || yourStream.getVideoTracks() 
));