[Pion/WebRTC] 답변 메시지 읽기 시도 1(msid-semantic, ssrc)

5641 단어 webrtcpion

소개



이제부터는 답글을 읽어보도록 하겠습니다.
제안 메시지에 따라 응답 메시지가 만들어지기 때문에 대부분의 대사는 제안 메시지와 동일합니다.


  • 제안과 답변의 주요 차이점은 msid-semantic과 ssrc의 추가라고 생각합니다.
    그래서 나는 그들을 읽어 볼 것입니다.

    msid-시맨틱



    "a=msid-semantic:~"행이 세션 수준 섹션에 추가됩니다.

    SDP 응답 메시지




    v=0 
    o=- 8405074721153909150 2 IN IP4 127.0.0.1 
    s=- 
    t=0 0 
    a=group:BUNDLE 0 1 2 
    a=extmap-allow-mixed 
    a=msid-semantic: WMS tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S
    


    이 속성에는 그룹 식별자(tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S)와 해당 그룹 시맨틱(WMS:WebRTC Media Stream)이 있습니다.
    식별자 값은 응답을 보낸 클라이언트의 MediaStream ID와 동일합니다.

    아래 문서에 따르면 이 속성은 WebRTC Media Stream에 "a=msid:~"를 사용하기 위한 것입니다.
  • SDP for WebRTC - SlideShare

  • 그러나이 속성은 이전 초안에서만 언급됩니다.
    따라서 이 속성은 향후 형식이 변경되거나 제거될 수 있다고 생각합니다.
  • WebRTC MediaStream Identification in the Session Description Protocol(draft-ietf-mmusic-msid-05)

  • 또한 그룹 식별자의 형식은 클라이언트마다 다릅니다.

    파이어폭스




    a=msid-semantic: WMS *
    


    마이크로소프트/MixedReality-WebRTC(https://github.com/microsoft/MixedReality-WebRTC)




    a=msid-semantic: WMS
    


    ssrc(동기화 소스)



    미디어 설명 섹션(비디오, 오디오)에 "a=ssrc-group:~"및 "a=ssrc:~"행이 추가됩니다.

    SDP 응답 메시지




    ...
    m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 102 121 127 120 125 107 108 109 123 118 116
    ...
    a=msid:tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S e246d6fc-71e2-4eaa-9e44-0a6e1793fd12 
    ...
    a=ssrc-group:FID 3413810401 2077638419 
    a=ssrc:3413810401 cname:nGUZl+/ZMBsWAlSN 
    a=ssrc:3413810401 msid:tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S e246d6fc-71e2-4eaa-9e44-0a6e1793fd12 
    a=ssrc:2077638419 cname:nGUZl+/ZMBsWAlSN 
    a=ssrc:2077638419 msid:tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S e246d6fc-71e2-4eaa-9e44-0a6e1793fd12 
    m=audio 9 UDP/TLS/RTP/SAVPF 111 9 0 8 
    ...
    a=msid:tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S 9c775cf1-6300-4535-8e38-73760a8a3f37 
    ...
    a=ssrc:1964009319 cname:nGUZl+/ZMBsWAlSN 
    a=ssrc:1964009319 msid:tJtqHKSvpmU907ayq0TVoHEXZKasH43rfz0S 9c775cf1-6300-4535-8e38-73760a8a3f37 
    ...
    


    "ssrc"는 각 미디어 소스를 식별하기 위한 것입니다.

    이 샘플에서 모든 "ssrc"는 "cname", "msid"및 "appdata"를 연결합니다.

    RTP 세션에서 미디어 소스를 업데이트한 후 "ssrc"가 변경됩니다.
    RTP 세션에서 미디어 소스 손실을 방지하려면 SDP에 "a=ssrc"행이 있을 때 "cname"이 필요합니다.

    적어도 크롬(Chromium)에서 SDP를 만들었다면 "msid"는 JavaScript의 MediaStream ID와 동일하고 "appdata"는 MediaStreamTrack과 동일합니다.

    비디오 스트림은 재전송된 패킷과 함께 패킷을 전송하기 때문에 이 샘플에는 비디오용 두 개의 "ssrc"가 있으므로 "ssrc-group"이 이들을 연결합니다.
  • RFC5576 - Source-Specific Media Attributes in the Session Description Protocol (SDP)
  • RFC8830 - WebRTC MediaStream Identification in the Session Description Protocol
  • RFC3550 - RTP: A Transport Protocol for Real-Time Applications
  • RFC4588 - RTP Retransmission Payload Format
  • Signaling - WebRTC for the Curious
  • RFC3551 - RTP Profile for Audio and Video Conferences with Minimal Control
  • RFC8829 - JavaScript Session Establishment Protocol (JSEP)
  • 좋은 웹페이지 즐겨찾기