【问题标题】:Cannot establish WebRTC connection (different codecs and payload type in SDP)无法建立 WebRTC 连接(SDP 中的编解码器和负载类型不同)
【发布时间】:2016-11-20 18:58:27
【问题描述】:

我正在尝试在浏览器和媒体服务器之间建立 webrtc 连接。但是,为了响应媒体服务器的提议,Firefox 选择了 VP8 编解码器而不是 H264。不幸的是,媒体服务器现在不兼容 VP8,只支持 H264。如何让 Firefox 使用与 Media Server 兼容的格式?

远程 SDP(报价):

v=0
o=Flussonic 1468826141836803755 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256C7:B3:54:AA:EB:53:21:B0:19:81:D6:29:F8:71:71:F3:1C:36:AC:DA:E9:43:8A:4B:96:C2:31:E3:A2:92:3D:95
a=group:BUNDLE video_t1
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 9 UDP/TLS/RTP/SAVPF 126
c=IN IP4 0.0.0.0
a=bundle-only
a=sendrecv
a=fmtp:126 profile-level-id=64e01f;level-asymmetry-allowed=0;sprop-parameter-sets=Z2QAH6wrUCgC3IAAAAABZ2QAH6wrUCgC3IAAAAABZ2QAH6wrUCgC3IA=,aO48MA==;packetization-mode=1
a=ice-pwd:804089D4B00B2DF987C9B443387755E8
a=ice-ufrag:E39A4B11
a=mid:video_t1
a=msid:{ffe2aa2b-d835-478f-abcb-ab35424e2eb4} {9547d2eb-2fd4-427d-986c-a579646ecd29}
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-mux
a=rtpmap:126 H264/90000
a=setup:actpass
a=ssrc:4070073620 cname:{ef2d113f-c17c-40ab-bf9c-67c9dcb9eb20}

本地 SDP(答案):

v=0
o=mozilla...THIS_IS_SDPARTA-47.0.1 2896632948472560668 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 0D:FC:13:73:48:21:B0:16:79:49:62:FC:64:D6:E2:2B:66:EA:FA:92:5A:15:BD:F4:92:ED:29:22:9E:0A:9E:3F
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 0 UDP/TLS/RTP/SAVPF 120
c=IN IP4 0.0.0.0
a=inactive
a=end-of-candidates
a=rtpmap:120 VP8/90000

火狐版本:47.0.1 OpenH264 版本:1.5.3

【问题讨论】:

    标签: webrtc sdp


    【解决方案1】:

    我也遇到了同样的问题。

    我尝试了以下方法:
    (1) 生成额外的 H.264 能力,包括“profile-level-id=42e01f”
    (2) 将上述描述分配在 SDP 的视频块顶部

    经过测试,它可以工作 - 使用 H.264 回答 SDP,双方都获得了媒体流。

    (火狐版本:55.0.3,OpenH264版本:1.6)

    但是,

    在 Chrome (60.0.3112.113) 我从回答者那里得到“488 Not Acceptable Here”,
    并且我尝试将添加的 H.264 描述的位置更改为视频功能的底部,
    它已解决,但对于 FireFox 它失败了。
    到目前为止,我仍然不知道这...

    【讨论】:

      【解决方案2】:

      Firefox 拒绝您的报价,m 行中的端口设置为 0。 您可能至少需要一个 fmtp 行来描述您的 h264 配置文件级别 ID(以及级别不对称和打包模式)

      【讨论】:

        【解决方案3】:

        您可以让 Firefox 优先考虑 H.264。

        • 在 about::config 中,搜索 h264
        • 将 media.peerconnection.video.h264_enabled 设置为 true。
        • 将 media.navigator.video.preferred_codec 设置为 126(这是 H.264 的代码)。如果不存在则创建此条目。

        【讨论】:

          猜你喜欢
          • 2018-07-01
          • 2019-03-15
          • 2020-02-08
          • 1970-01-01
          • 2022-01-18
          • 1970-01-01
          • 2016-12-26
          • 2021-09-29
          • 1970-01-01
          相关资源
          最近更新 更多