2014-07-26 40 views
4

我正在使用WebRTC進行點對點視頻通信,並且我希望在將視頻過濾器發送到本地攝像頭視頻之前將其發送到遠程對等點。使用WebRTC從畫布元素流視頻

我正在考慮的方法是將本地攝像頭視頻發送到畫布元素,在那裏我會將JavaScript濾鏡應用於視頻。然後我想使用WebRTC將視頻從畫布元素流式傳輸到對等。但是,我不清楚這是否可能。

是否可以使用WebRTC從畫布元素流式傳輸視頻?如果是這樣,這怎麼辦?或者,我可能會考慮採取其他方法來實現我的目標嗎?

+1

除了發送處理過的流,您可以在遠程對端應用[CSS3過濾器](http://html5-demos.appspot.com/static/css/filters/index.html),如果標準過濾器(如灰度,模糊,棕褐色等)對你來說已經足夠了。 – Curious

回答

0

mozCaptureStreamUntilEnded在Firefox上受支持,但生成的流無法連接到對等連接。

播放<canvas>比較容易,但是來自<video>元素的流媒體需要媒體處理API(捕獲流直到結束)以及RTCPeerConnection(支持所有功能)。

我們可以從<canvas>獲得圖片,但我不確定我們是否可以從<canvas>生成MediaStream。

因此,mozCaptureStreamUntilEnded僅用於預錄媒體流

0

我的解決方案是,將普通流發送給對等設備,同時傳輸它如何進行修改,以便在另一側進行修改,而不是直接在視頻元素中顯示(播放視頻並隱藏元素) ,您將繼續使用settimeout/requestAnimationFrame在畫布中進行繪製(處理之後)。