2017-05-19 1 views
3

にキャンバスストリームを送信 私はその後、やってることはこれです:。は、私は現在、ユーザーがで描画できるキャンバスを持っているUDPマルチキャストアドレス

var canvas = $('#can')[0]; 
var ctx = canvas.getContext('2d'); 
var stream = canvas.captureStream(60); 

var video = $('#video')[0]; 
video.srcObject = stream; 

だから私はキャンバスを取得し、へcaptureStreamメソッドを使用しますキャンバスのコンテンツのライブストリームを取得し、videoというタグにsrcObjectと入力します。

ここで達成したいのは、ライブストリーム(変数streamに保存されている)がudpマルチキャストアドレスに送信されているため、MPVまたは別のビデオプレーヤーで受信できることです。

私はこれをどのように使い始めることができますか?またはこれを行う簡単な方法はありますか?

+0

'canvasElement.captureStream()'から取得したMediaStreamは、例えばgUMから取得したものとちょうど同じです(いくつかの方法があります)。次に、このストリームを他のエンドポイントと共有するためにWebRTCを使用します。しかし、WebRTCはマルチパート/ブロードキャスト用に作られていないので、あなたの*広い*質問はこれの欺瞞になる:https://stackoverflow.com/questions/18318983/webrtc-scalable-live-stream-broadcasting-multicastingどこにあるのブロードキャストを実装するゲートウェイサーバー側を使用することをお勧めします。 – Kaiido

答えて

1

UDPを技術的に超えていなくても、ストリームを読むことができる限り別の種類のWebプレーヤーである可能性があるので、WebRTCを使用してできることを見てください。

これは、ブラウザのトランスポートプロトコルにwebtorrentが使用するもので、これを活用してプレーヤとして使用することができます。

captureStreamを使用して別のビデオ要素に送信すると、その実装方法の良い例がthis pageに表示されます。しかし、Chrome設定でいくつかの実験的なフラグを有効にする必要があります。実際の使用例ではノーオペレーションかどうかは分かりません。

UDPブロードキャストに関してthis answerを見ると、実際にあなたがしたいことがあれば、代わりにSRTPを使用するようにアドバイスしています。 @Kaiidoが参照しているものも、この問題を開始するのに良いリソースです。

また、nile.jsをご覧になれます。

関連する問題