簡體   English   中英

遠程媒體 stream 不可用,webrtc 和 kurento 媒體 stream

[英]remote media stream not available, webrtc and kurento media stream

我從https://doc-kurento.readthedocs.io/en/6.13.2/tutorials/java/tutorial-groupcall.html開始

目前,在 UI 中,我給用戶選項來決定他們是否只需要音頻或音頻+視頻通話。 根據選擇,通過 getUserMedia() 的約束,如果所有用戶 select相同類型的調用類型,則此方法工作正常。

但是,假設用戶 1 select 只有音頻,用戶 2 選擇音頻+視頻,然后用戶 1 從用戶 2 接收音頻,而在用戶 2 端,html 視頻元素繼續加載。

結果:我認為這是 SDP 報價問題,因為來自用戶 1 的報價和來自用戶 2 的相應 SDP 答案不包含 m=video,因為用戶 1 只選擇了音頻通話(這很好用)

但是,來自用戶 2 的提議和來自用戶 1 的相應 SDP 答案確實包含 m=video。

所以,我想要的是,用戶 2 從 1 接收音頻,即使用戶 2 選擇了視頻通話。

您的 stream 具有音頻和視頻軌道。 出於某種原因,html video元素在這種情況下不播放音頻,因為它沒有獲取視頻而只有音頻(因為其他人禁用了視頻)。 有兩種方法可以修復它。

  1. 通過操作 mediaStream 進行修復。 當用戶禁用視頻時,您可以創建一個僅包含音軌的 mediaStream。

    const audioStream = new MediaStream(); mediaStream.addTrack(originalStream.getAudioTracks()[0]); /* display audioStream in video element*/

  2. 通過為正確的 mediaConstraints 生成 sdp 來修復您可以在使用kurentoUtils創建WebRtcPeer時通過將mediaConstraints作為{audio:true,video:false}來生成 sdp。 那只會為您提供音軌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM