問題タブ [mediastreamtrack]
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.
video - 一時停止を解除した後、MediaStreamTrack に「実際の」データがあるかどうかを検出する方法は?
を使用してMediaStreamTrackを一時停止してから再開する.enabled = false
と、フラグが true になってから実際のデータを実際に取得する.enabled = true
までにわずかな遅延が生じます。.enabled
ストリームをビデオ要素に渡すと、最初に黒い画面が表示され、その後すぐに実際のカメラ データが表示されます。
「実際の」ストリームがいつ利用可能になるかを検出する方法があるかどうか疑問に思っています。キャンバスを使用してストリームから定期的にスナップショットを取得し、 などを使用してデータを確認できます.getImageData
が、コストがかかるようです。
データが利用可能になったときに発生するイベントはありますか?
注:この質問は似ていますが、そうではありません。リモート接続の場合、カメラが一時停止/一時停止解除されたことを相手側に知らせるシグナリング イベントを送信することをお勧めします。私はローカル処理を行っているので、有用なデータがいつ届くかを知りたいだけです。
javascript - MediaRecorder.ondataavailble が呼び出されなくなった問題を特定するにはどうすればよいですか?
navigator.mediaDevices.getUserMedia()
を使用してユーザーのオーディオとビデオをキャプチャし、MediaRecorder
そのondataavailable
ビデオとオーディオのブロブをローカルに保存して後でアップロードします。
現在、何らかの理由でondataavailable
が録音の途中で呼び出されなくなるという問題に対処しています。理由がわからず、何か問題が発生したというアラートが表示されません。まず、なぜこれが発生するのか、エラーをキャッチする方法を知っている人はいますか?
第二に、私は再現しようとしました。このようなことをすることによって。
そして、ストリームを記録します
次に、ストリームを手動で強制終了して、発生している問題を再現できることを願っています。
Nowondataavailable
は呼び出されなくなりましたが、onended イベントは呼び出されませんでした。レコーディングはまだ進行中で、local_media_stream
はまだアクティブです。
オーディオも殺したら
現在local_media_stream
はアクティブではありませんが、イベントは呼び出されず、ストリームが停止し、レコーダーはまだ実行されていますが、呼び出されていませんondatavailable
。
私に何ができる?ローカル ストリームが正常に記録されていることを知りたいのですが、アラートが表示されない場合は、少なくとも記録が保存されていないことをユーザーに通知できます。
webrtc - WebRTC は、OutboundRTPVideoStream フレームの高さとフレーム幅を RTCInboundRTPVideoStream と一致させるのに時間がかかります
制約 [MediaStreamTrack.applyConstraints() を使用] が設定されていても、レシーバー側の MediaStreamTrack の解像度は低く、10 ~ 20 秒で実際のフレームサイズにゆっくりと適応します。ソースと宛先のビデオ トラックのフレーム サイズを常に一致させる方法はありますか? webrtc 内部から統計の詳細を添付します。
RTCInboundRTPVideoStream の統計グラフ