7

Opentok JavaScript WebRTC ライブラリを使用して、1 対 1 のビデオ チャット (ピア ツー ピア) をホストしています。同僚のビデオを見て、オーディオを完璧に聞くことができます。

私の希望は、他のチャット パーティー (リモート) の音声/ビデオを記録することです。この目的のために、私はRecordRTCを使用しています。他のチャット参加者のビデオを記録することはできました (ビデオは HTML ビデオ要素に出力されます) が、これまでのところ、音声を記録することはできませんでした (デッド サイレンス .wav ファイルが得られる限りです)。Chrome Canary (30.0.1554.0) を使用します。これは私の方法です:

var clientVideo = $('#peerdiv video')[0];//peer's video (html element)
var serverVideo = $('#myselfdiv video')[0];//my video (html element)

var context = new webkitAudioContext();
var clientStream = context.createMediaStreamSource(clientVideo.webRTCStream);
var serverStream = context.createMediaStreamSource(serverVideo.webRTCStream);

webRTCStream は、opentok js ライブラリのソースを変更して HTMLVideoElement オブジェクトに割り当てたカスタム プロパティです。それぞれの < video > 要素にリンクされた MediaStream オブジェクトが含まれています。

var recorder = RecordRTC({
                    video: clientVideo,
                    stream: clientStream
                });
recorder.recordAudio();
recorder.recordVideo();

ビデオが記録されます。オーディオファイルも作成され、ビデオの長さに近い長さですが、完全に無音です (そして、録音中に反対側で多くのノイズが発生しました)。

ウェブカメラのビデオ ストリーム (およびオーディオ) を表示するビデオ要素でこれをテストしたところ、動作しました。オーディオとビデオの両方が記録されました。

...
var recorder = RecordRTC({
                    video: serverVideo,
                    stream: serverStream
                });
...

離れた場所から発信されたストリームに何か特別なことはありますか? この問題に関するガイダンスは非常に役立ちます。

4

3 に答える 3

7

これは、次の状況で同じ問題が発生します...

  1. ステレオ オーディオ (デュアル チャネル オーディオ) でない場合...つまり、モノラル オーディオです。
  2. オーディオ入力チャンネルがオーディオ出力チャンネルと等しくない場合
  3. 音声入力デバイスがクロムで選択されたデフォルトのデバイスでない場合

私はまだ実際の問題を見つけようとしています。

テスト目的でこの実験を追加しました...コンソールを参照してください...

https://webrtc-experiment.appspot.com/demos/remote-stream-recording.html

更新日時: 2014 年 2 月 1 日土曜日、09:22:04 PKT

リモート オーディオ録音はサポートされていません。この問題は優先度が低く、修正されないと見なされます。

  1. リモート WebRTC MediaStreamTrack 出力の WebAudio へのフィードをサポート
  2. WebRTC MediaStreamTrack 出力を Web Audio API に接続する

2016 年 3 月 28 日更新

Chrome バージョン 49+以降、RecordRTC でリモートオーディオ + ビデオ録画がサポートされるようになりました。

一方、Firefox は、リモート オーディオを録音することしかできません。

于 2013-07-04T17:11:04.540 に答える
2

Chrome/WebRTC/Opus がデフォルトでモノラル オーディオを出力し、それが問題である場合、その場合には 2 つのオプションが表示されます。

  1. opus の出力をステレオにする方法 - 方法がわかりません。
  2. RecordRTC/Recorderjs コードを mono で動作させることによって

または、機能する他の録音ライブラリを知っている人はいますか?

于 2013-07-04T21:33:03.750 に答える
0

これは実際に Firefox で正常に動作するようになりました。私が使用FireFox 29.0.1していて、AudioAPI は、ピア接続からリモート パーティから取得したオーディオ ストリーム ソースで動作するようになりました。

テストするには、Muaz Khan の実験ページにアクセスしてください。これが展開された Firefox のバージョンはわかりませんが、開発してくれたチームに感謝したいと思います。

進行状況を追跡するために、Chrome のバグは AudioAPI チームの CR バグに移動されました

于 2014-06-20T13:25:58.840 に答える