web-dev-qa-db-ja.com

ブラウザからサーバーへのカメラビデオの送信

chromeカナリア19の新しいエキサイティングな機能を試しています。

基本的に、Webカメラからビデオを取得して、ビデオタグのソース要素に設定できます。

<!DOCTYPE html>
<html>
    <head>
    <title>Camera capture</title>
    <script>
        var localStream;
        var localStreamObjUrl;
        window.onload = function() {
            navigator.webkitGetUserMedia("audio, video", gotStream);
        }
        function gotStream(stream) {
            localStream = stream;
            localStreamObjUrl = webkitURL.createObjectURL(localStream);
            var video = document.getElementById("selfView");
            video.src = localStreamObjUrl;
        }
    </script>
</head>
<body>
    <video id="selfView" autoplay audio=muted></video>
</body>
</html>

https://apprtc.appspot.com の例から、ビデオを取得してピアにストリーミングできます...

私の質問は、p2p接続を取得してビデオをサーバーに直接アップロードするためにすべてのトラバーサルを実行することを回避できますか? p2pを送信する代わりに、ビデオストリームを中継できるようにしたい。

28
user1201022

背面にある種のストリーミングメディアサーバーが必要です。

プロセスは次のようになります。

  1. フィードをキャプチャする
  2. サーバーに送信します
  3. さまざまなクライアント形式にトランスコードする
  4. アウトバウンドストリームを管理する

利用可能な無料および有料の品種が多数あります。

トランスコーディングの詳細: xuggler
メディアの「スイスアーミーナイフ」: ffmpeg

等々。

5
ethrbunny

うわー、質問はほぼ2歳であり、まだ関連しています。現在、2つのオプションは、スクリーンショットをサーバーに定期的に送信するためにカメラストリームをキャンバスにフィードするか(簡単ですが非常に遅い)、またはWEBRTCを使用してデータをストリーミングすることです。残念ながら、サーバー側でのWEBRTCのサポートは、一般的なプログラミング言語用のwebrtcライブラリがあまり多くないため、まだあまり良くありません。

2
Bastian Venthur

私は過去5年間の大部分でビデオ録画ソリューションを開発し、Red5のビデオ録画のバグの修正に多大な貢献をしました。

デスクトップではFlashクライアントとメディアサーバー(Red5、Wowza、Adobe Media Server)を使用でき、モバイルではHTML MediaCaptureを使用できます。

私は同様の質問に詳細な回答をしました ブラウザでビデオを録画してLAMPサーバーにアップロードします

1
Octavian Naicu

nimbb を試すことができます。ここでは、FlashベースとHTML5のキャプチャがあります。その後、ビデオを Brightcove にプッシュして、さまざまなクライアント形式にトランスコードできます。

APIが統合されています。唯一の問題はコストです。

0
user1328229