sdp协议详解_什么是流媒体「建议收藏」

sdp协议详解_什么是流媒体「建议收藏」SDP协议,全称SessionDescriptionProtocol,翻译过来就是会话描述协议

一、概述

        SDP协议,全称Session Description Protocol,翻译过来就是会话描述协议,在流媒体通信中负责携带媒体信息,这样通信双方能够协商好双方具有的媒体能力。通常SDP会荷载到其他信令协议中入:SIP、RTSP,其中WebRTC中没有明确规定信令协议,但会荷载到offer、answer报文中。

PS:什么是会话:比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。

​​​​​​​sdp协议详解_什么是流媒体「建议收藏」

二、作用

SDP在webrtc或voip通话中有重要的作用,它通过文本对媒体信息进行描述。其本身并不传递媒体数据,而是用于参与媒体会话的双方进行媒体协商。通过SDP,通信双方可以知道对方的:支持的音视频编码器、网络信息以及其他重要信息。在webrtc中没有规定统一的信令,通常信令使用使用者自己实现,下图是webrtc中sdp的作用:

sdp协议详解_什么是流媒体「建议收藏」

highlighting text

三、格式规范

  • 多个媒体级描述
媒体格式
传输协议
纯属IP和端口
媒体负载类型
  • 一个会话级描述
会话的名称和目的
会话存活时间
会话中包括多个媒体信息
  • 格式:type=value组成

(1)会话层

v=(协议版本)
o=(所有者/创建者和会话标识符)
s=(会话名称)
c= * (连接信息 ― 如果包含在所有媒体中,则不需要该字段)
t=会话存活时间
a = * (0 个或多个会话属性行)

ps:(带星号的是可选字段,不带的是必选)

(2)媒体层

m=(媒体名称和传输地址)
c=*(连接信息 ― 如果包含在所有媒体中,则不需要该字段)
b=*(带宽信息)
a = * (0 个或多个会话属性行)
  • 字段含义详解:
    • 1、version 必选

    • 2、session name 必选

    • s= [sission name] 会话名,s=-表示忽略会话

    • 3、origion/owner 必选
      o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
      例子:o=- 6474257184349789314 2 IN IP4 127.0.0.1

    • 4、connection 可选
      c=<network type><address type><connection address>
      例子:c=IN IP4 0.0.0.0

    • 5、media 必须
      m=<media><port><transport><fmt/payload type list>
      例子:m=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 0 8 106 105 13 110 112 113 126

    • 6、attributes 可选
      a=<TYPE> 或a=<TYPE>:<VALUE>
      例子:a=frameate:<帧速率>

    • 7、rtpmap 可选(重要)
      a=rtpmap:<fmt/payload type><encoding name>/<clock rate>[/<encodingparameters>]
      例子:a=rtpmap:111 opus/48000/2

    • 8、fmtp 可选
      a=fmtp:<format/payload type> paramerters
      例子:a=fmtp:101 apt=100

参考

SDP协议介绍

今天的文章sdp协议详解_什么是流媒体「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72047.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注