2015-01-22 1 views
0

두 브라우저 사이트간에 하나의 스트림을 마스터라고하고 다른 하나를 슬레이브라고합니다. 마스터는 비디오를 슬레이브로 스트리밍합니다. 마스터가 항상 활성 상태이며 슬레이브가 때때로 연결됩니다.일부 브라우저 조합에서는 WebRTC 스트리밍이 작동하지 않습니다.

나는이 구성 양쪽에 연결을 시작 :

{'iceServers': [{'url': 'stun:mystunserveraddress'}]}, 
{'optional': [{'DtlsSrtpKeyAgreement': true},{'RtpDataChannels': true}]} 

마스터 오디오없이 비디오를 수신하지 않습니다에 대한 서비스를 보냅니다. 슬레이브 핸들은 비디오 수신을위한 오퍼를 제공하고 답변합니다. 마스터가 응답을 처리합니다.

얼음 후보는 양쪽에서 처리됩니다. 비디오를 제공하기 전에 피어 연결에 비디오가 연결됩니다.

나는 마스터 -> 슬레이브의 조합을 다음과 같이 작동하도록 테스트 : -

  • 안드로이드 크롬 -> 리눅스 파이어 폭스 작동 -

    • 안드로이드 크롬 -> 리눅스 크롬을
    • 안드로이드 Firefox- 작동> 리눅스 파이어 폭스 -
    • 리눅스 크롬 -> 리눅스 크롬 작동하지 않습니다 - -
    • 안드로이드 Firefox-> 리눅스 크롬을 작동
    • 리눅스 크롬을 작동 -> 리눅스 파이어 폭스 -
    • 리눅스 Firefox-> 리눅스 파이어 폭스 작동 -
    • 리눅스 Firefox-> 리눅스 크롬을 작동 -
    • 리눅스 크롬 -> 윈도우 크롬을 작동하지 않습니다 -
    • 리눅스 크롬 작동하지 않습니다 -> 윈도우 파이어 폭스 -
    • 리눅스 Firefox-> 윈도우 파이어 폭스 작동 -
    • 리눅스 Firefox-> 윈도우 크롬을 작동합니다 - 왜 그 조합에 대해 작동하지 않습니다

    작동하지 않는 이유는 무엇입니까? 오류가 없습니다. 모든 것이 정상적인 것처럼 보이지만 슬레이브의 비디오 요소는 비어 있습니다.

    양쪽에서 오디오 및 비디오를 제공하거나 자동으로 아무 것도 변경하지 않습니다.

    Firefox 마스터에는 두 개의 "연결된"상태가 있으며 Chrome 슬레이브에는 "확인 중"상태가 있습니다.

    로컬 서버와 원격 서버에서 테스트 한 결과는 동일합니다.

    AppRTC 예제에서도 작동하지 않습니다.

  • +0

    버그로 인해 작동하지 않는 것 같습니다. 두 브라우저의 구현은 최종 또는 버그가 없습니다. –

    +0

    서식을 고쳐 주셔서 감사합니다. 아직 작성하지 않았습니다. –

    +0

    어쩌면 Chrome과 Firefox 간 interop은 2013 년부터 시작됩니다.하지만 Linux Chrome -> Windows Chrome을 사용할 수는 없습니다. –

    답변

    1

    사이드 노트 : RtpDataChannels을 사용하지 마십시오. 오래된 것입니다. Chrome 전용이며 비표준입니다. 표준에도 제안되지 않았습니다. Chrome은 이제 Firefox와 상호 작용하는 표준 RTCDataChannels (pc.createDataChannel (...))을 지원합니다.

    비디오 문제가 JS 코드의 버그 일 가능성이 높습니다. 성공 콜백 대 다른 콜백 또는 ICE 응시자의 타이밍에 대한 의존도가있을 수 있습니다. SetRemoteDescription의 Success 콜백이 반환되지 않은 경우 예를 들어 ICE 후보를 추가하지 않아야합니다 (대기열에 넣고 성공 후 추가).

    Linux에서 Chrome의 apprtc를 사용하여 Windows의 Chrome으로 (또는 그 반대의 경우) apprtc를 사용하여 전화를 걸면 작동합니까? 그것은해야한다; 이것은 사람들이 항상하는 일입니다 (Chrome과 Firefox에서).

    관련 문제