問題タブ [janus-gateway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webrtc - WebRTC H264 接続 - 奇妙な profile-level-id
RTSP カメラとブラウザの間で WebRTC 接続を確立しようとしています。カムは、VLC プレーヤーで適切に再生される素敵な h264 ストリームを作成します。WebRTC にはJanusを使用しています。
カメラ ストリームは、奇妙なプロファイル レベル ID ffffc028 を提供するため、どちらの Chrome でも FF でも再生されません。
Janus に既知の profile-level-id を強制的に提供させると (これは明らかにハックです!)、Chrome はストリームを再生できますが、最初のキーフレームを受信した直後に FF がクラッシュします。
カメラ ストリームはv4l2rtspserverによって作成されます。
この profile-level-id の場所を特定するのを手伝ってください。
それはまったく有効ですか?
google-chrome - Google Chrome の ctrl-r、F5、更新ボタンの違い
janus-gateway を利用して、gstreamer で生成された RTP ストリームを Google Chrome で実行されている vuejs クライアントに転送するアプリケーションがあります。ページを更新すると、ビデオ要素内にビデオが表示されないことがあります。この問題が発生する頻度は、ページを更新する方法によって異なります。たとえば、ctrl-r は失敗することなく最大 20 回機能しますが、ブラウザーの更新ボタンを押すと 2 回しか機能せず、その後の試行ごとに失敗します。更新ボタンの「ハード リロード」および「空のキャッシュとハード リロード」オプションは、失敗の頻度には影響しません。
chome://webrtc-internals を見ると、ブラウザーに帯域幅が入っていることがわかります。janus-gateway 管理 API も、正しい帯域幅を送信していることを示しています。これにより、問題はクロム内のリソースバインディングに関連していると思われます。
ctrl-r、F5、更新ボタンの違いは何ですか? それらは異なるリソースをクリアしますか?
この動作は Chrome バージョン 71 で開始され、Chrome バージョン 70 以前では再現できません。
ffmpeg - ffmpeg から発信された Janus ストリームでオーディオとビデオの間で非同期が発生しています
Janus Gateway を使用して、ビデオ ファイルから取得し、ffmpeg でエンコードしたビデオをストリーミングしています。プロジェクトの目標ははるかに複雑ですが、トラブルシューティングを支援するために可能な限り最小限に抑えようとしました.
エンコードは次のように行われます。
私はストリーミングプラグインを使用していますが、ストリームはトリックなしで構成されているようです:
ストリーミング プラグインと Janus 構成へのリンクは次のとおりです。nack キューの長さと dtls タイムアウト パラメータを少し試してみましたが、何も変わりませんでした。
https://codeda.com/data/janus.jcfg.txt https://codeda.com/data/janus.plugin.streaming.jcfg.txt
結果のビデオ (WebRTC プレーヤー ページのスクリーン キャプチャ) はこちら: https://codea.com/data/janusSyncIssue.mp4 - ご覧のとおり、ビデオとオーディオの間にかなりの非同期があります。
問題は、ビデオ ストリームとオーディオ ストリームが別々に送信され、タイムコードが含まれていないか、何らかの理由で無視されていることです。明らかに、ビデオのエンコードとオーディオのエンコードにかかる時間は異なり、ビデオの場合はさらに時間がかかるため、ビデオの遅延が発生します。
私はこれを疑っていますか?もしそうなら、どうすればこれを修正できますか?そのためのffmpeg設定またはJanusストリーミングプラグイン設定があると思います。
ああ、そのサーバーではプロセッサはほぼ無料で、80 ~ 85% は無料です。確かにプロセッサの問題ではありません。