2017-06-27 3 views
1

DockerでFirefox 52+を使用しているときに、WebRTCのgetUserMedia関数が異常に動作しています。それを再現する手順は次のとおりです。DockerのFirefoxのgetUserMediaが動作しない

1)ドッカーでセレンハブを実行します。

docker run --rm --name selenium-hub -p 4444:4444 selenium/hub:3.4.0 

2)ハブにFirefoxブラウザを登録します。

docker run --rm --link selenium-hub:hub -p 5555:5555 -p 5900:5900 selenium/node-firefox-debug:3.4.0 

注1を:このコマンドは、VNCを使用して(コンテナ内の)ブラウザに接続したいので、node-firefoxイメージのデバッグバージョンを使用しています。

NOTE 2:このバージョン(3.4.0)はFirefox 53を使用しています。この問題はFirefox 52(つまり、 (Linuxの場合はURL:vnc://(Linuxの場合:vnc://))を使用してブラウザに接続します。 127.0.0.1:5900、パスワード:secret)

4)ドッキングされたブラウザで偽のメディアを使用するように強制します。これは、Firefox(タブabout:config)の事前設定で設定にtrueに設定キーmedia.navigator.streams.fakeを行うことができます。

enter image description here

5)ドッカーにFirefoxでgetUserMedia samples pageを開きます。例えば、Basic getUserMedia demoが正常に動作します:

enter image description here

mediaConstraintsオーディオフラグをfalseに設定されているので、私はこのデモが動作している確認:

var constraints = window.constraints = { 
    audio: false, 
    video: true 
}; 

それにも関わらず、他のデモをオーディオフラグをtrueに設定しても機能しなくなり、getUserMedia機能が停止します。

この動作はDockerでのみ再現できます。つまり、ホストで直接実行されているFirefoxのバージョンは正常に動作します。ここには何らかのバグがあるようですが、パズルのどの部分には不明です。

ここで問題はありますか?ドッカー? Firefox?

答えて

2

travis-ciでadapter.jsを実行しても同じ問題が発生しました。解決策が表示されますin this pull request - あなたはpulseaudioを開始する必要があります

関連する問題