• SDP协议介绍


    一、概述

    SDP协议,全称Session Description Protocol,翻译过来就是会话描述协议。
    什么是会话:比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。

    二、作用

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

    highlighting text

    三、格式规范

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

    (1)会话层

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

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

    (2)媒体层

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

      • 2、session name 必选

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

      • 3、origion/owner 必选
        o=
        例子:o=- 6474257184349789314 2 IN IP4 127.0.0.1

      • 4、connection 可选
        c=


        例子:c=IN IP4 0.0.0.0

      • 5、media 必须
        m=
        例子:m=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 0 8 106 105 13 110 112 113 126

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

      • 7、rtpmap 可选(重要)
        a=rtpmap:/[/]
        例子:a=rtpmap:111 opus/48000/2

      • 8、fmtp 可选
        a=fmtp: paramerters
        例子:a=fmtp:101 apt=100

    参考

    SDP协议介绍

  • 相关阅读:
    Ford–Fulkerson algorithm
    session会话跟踪技术--尚硅谷(27、28)
    《数据安全法》出台一周年,看哪四大变化来袭?
    软件测试/测试开发丨使用ChatGPT自动进行需求分析
    【Linux】基础:进程的概念
    【MySQL】存储引擎
    前端 VSCode 常用快捷键提高你的效率
    7个新的ES2022 JavaScript 功能,你千万不要错过了
    ASPX与ASP URL传递值问题
    SpringMVC-study
  • 原文地址:https://blog.csdn.net/uianster/article/details/125902301