1

2 つの Chrome アプリ / 拡張機能がウェブストアで目に留まりました。

  1. スクリーンキャスティング
  2. スナギット

chrome.desktopCapture とgetUserMedia()、ユーザーのデスクトップのライブ ストリームをキャプチャするために使用する方法を認識しています。

例:

navigator.webkitGetUserMedia({
    audio: false,
    video: {
        mandatory: {
            chromeMediaSource: 'desktop',
            chromeMediaSourceId: desktop_id,
            minWidth: 1280,
            maxWidth: 1280,
            minHeight: 720,
            maxHeight: 720
        }
    }
}, successCallback, errorCallback);

Screencastify のように、ビデオの特定のコーナーにオーディオ録音と Web カメラ キャプチャの埋め込みを可能にする独自のスクリーンキャスト アプリを作成したいと考えています。

デスクトップとユーザーのオーディオとビデオをキャプチャすることは理解できますが、それらをすべてまとめてビデオ ファイルにする方法を教えてください。

getUserMedia()ChromeOSのストリームからビデオ ファイルを作成する方法があると思います。ChromeOSだけが実装したもの?

それはどのように行われますか?ご回答ありがとうございます。

4

1 に答える 1

2

動画ファイルの実際のエンコードと保存は、現時点では Chrome に実装されていません。Mozilla は、現時点でそれを初期の形で提供しています。ChromeOS での状態がわかりません。ただし、Chrome ブラウザーでの開発中に収集した情報を少しだけ提供できます。

メディア ストリームをビデオとしてエンコード、保存、配信する方法は、クライアント側とサーバー側の 2 つです。

サーバー側:
ある種のメディア サーバーが必要です。これまでに見つけた無料/オープンソースのソリューションで最高のものはKurentoです。メディア ストリームは、メディア サーバーにアップロード (チャンクまたは全体) またはストリーミングされ、そこでエンコードされ、後で使用するために保存されます。これは、仲介者として機能し、データが流れるときに記録することにより、ピアツーピアでも機能します。

クライアント側:
これはすべてブラウザベースのエンコーディングに関するものです。現在、Chrome で正常にテストした 2 つの作業オプションがあります。

  1. Whammy.js :
    このメソッドは、キャンバス ハックを使用して webp 画像の配列を保存し、それらを webm コンテナーにエンコードします。遅いですが、ビデオではうまく機能します。音声サポートなし。私は現在それに取り組んでいます。
  2. videoconverter.js (以前は ffmpeg-asm.js でした): Emscriptenを使用してffmpegを JavaScript
    に直接移植したものです。オーディオとビデオの両方で機能します。また、スクリプトに関しては、非圧縮で約 25MB と巨大です。私が本番環境で使用していないもう 1 つの理由は、現時点で ffmpeg のライセンスが不安定であることです。可能な限り最適化されていません。確実に本番環境に対応できるようにすることは、おそらくかなりのプロジェクトになるでしょう。

うまくいけば、少なくともそれがあなたに研究の道を与えるでしょう.

于 2015-03-18T20:56:28.647 に答える