2015-12-30 18 views
3

我有一個Web應用程序,使用adapter.js實現WebRTC,並且大多數情況下工作。 Firefox到Firefox和Chrome到Chrome工作正常,但:沒有WebRTC視頻信號從Firefox到Chrome,但所有其他組合工作

當Chrome和Firefox連接時,Firefox端的視頻不會顯示在Chrome端。 音頻確實有效!,所以webrtc頻道很好。

  • 計算機在同一網絡中
  • (我有STUN/TURN功能,但是這無關緊要,我認爲)
  • 不要緊,哪一個發起呼叫
  • 它總是Chrome瀏覽器沒有看到火狐,火狐總是這樣看的Chrome
  • 沒有錯誤,沒有警告,所有預期回調火災,握手似乎是做
  • Alice發送鮑勃她的冰考生在onicecandidate「結束」。鮑勃也是這樣,但時間可能比我在這裏意識到的更重要。
  • 兩個視頻元素被創建,以(使用srcObject)的BLOB SRC,以及兩種瀏覽器
  • 恰巧在每臺計算機上onloadedmetadata火災(試圖〜20層的組合上5臺計算機)

很偶然其他東西失敗,就像ICE協商一樣(儘管它始終是同一網絡),並且createOffersetRemoteDescription有時會失敗。

我能找到的所有問題都來自2-3年前,但之後Firefox和Chrome似乎是好的RTC好友。我的視頻發生了什麼?

相關,但不是解決辦法:

+0

當你的意思是「當Chrome和Firefox連接時,來自Firefox端的視頻不會顯示在Chrome端。」 '''onaddstream'''沒有被觸發? –

+0

@AnandS否,兩個流都存在,並且爲表示流的視頻甚至會觸發'onloadedmetadata'。它只是黑色/空... – Rudie

回答

0

可能的,這是有事情的假設同步或不發生的API中的問題。這個API是非常異步的,並且不同瀏覽器之間(或同一瀏覽器的不同版本之間)同步或不同步發生。您可能需要使用adapter.js仔細比較您的代碼和其他示例。

如果沒有代碼或相關代碼片段,很難說出錯的是什麼,然而重要的檢查內容是:webrtc(對於Firefox,包括底部的連接日誌),Chrome webrtc內部頁面和內部頁面日誌記錄。還要添加自己的日誌記錄回調/承諾發生和沒有。我建議在Firefox中設置環境變量NSPR_LOG_MODULES =信號:4,mtransport:4和NSPR_LOG_FILE = whatever。您還可以(特別是使用這些日誌或一些示例代碼)在irc.mozilla.org的#media上ping Firefox開發者。

+0

我認爲順序和同步性很好,因爲整個事情在Ch-Ch和Ff-Ff都有效,但是在某個地方可能會有一個小小的錯誤。我無法真正添加片段,因爲整個過程非常龐大,包括PubNub的存在。也許我錯了:當本地列表已被評估('onicecandidate'的結尾)時,Alice向Bob發送候選人。其他例子有時會做不同的事情。另外,這可能是Chrome的錯,我不知道。 – Rudie

相關問題