当前位置: 首页 > news >正文

备案不关闭网站的方法上海做网站公司做网站的公司

备案不关闭网站的方法,上海做网站公司做网站的公司,黄浦区网站建设,聊城网络公司目录一、介绍二、标准 SDP 规范1. SDP 的格式2. SDP 的结构#xff08;1#xff09;会话描述#xff08;2#xff09;媒体描述三、WebRTC 中的 SDP一、介绍 SDP#xff08;Session Description Protocal#xff09;以文本描述各端#xff08;PC 端、Mac 端、Android 端… 目录一、介绍二、标准 SDP 规范1. SDP 的格式2. SDP 的结构1会话描述2媒体描述三、WebRTC 中的 SDP一、介绍 SDPSession Description Protocal以文本描述各端PC 端、Mac 端、Android 端、iOS 端等的能力 这里的能力指的是各端所支持的 音频编解码器是什么这些编解码器设定的参数是什么使用的传输协议是什么以及包括的音视频媒体是什么等等。 例子 v0 o‐ 3409821183230872764 2 IN IP4 127.0.0.1 ... maudio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 ... artpmap:111 opus/48000/2 artpmap:103 ISAC/16000 artpmap:104 ISAC/32000 ...如上面的 SDP 片段所示该 SDP 中描述了一路音频流即maudio该音频支持的 Payload ( 即数据负载 ) 类型包括 111、103、104 等等。 在该 SDP 片段中又进一步对 111、103、104 等 Payload 类型做了更详细的描述如 artpmap:111 opus/48000/2 表示 Payload 类型为 111 的数据是 OPUS 编码的音频数据并且它的采样率是 48000使用双 声道。以此类推你也就可以知道 artpmap:104 ISAC/32000 的含义是音频数据使用 ISAC 编码采样频率 是 32000使用单声道。 1 对 1 WebRTC 处理过程图 如上图所示两个客户端 / 浏览器进行 1 对 1 通话时首先要进行信令交互而交互的一个重要信息就是 SDP 的交换。 交换 SDP 的目的是为了让对方知道彼此具有哪些能力然后根据双方各自的能力进行协商协商出大家认可 的音视频编解码器、编解码器相关的参数如音频通道数采样率等、传输协议等信息。 如上图所示阿花 与 阿强进行通讯它们先各自在 SDP 中记录自己支持的音频参数、视频参数、传输协议等 信息然后再将自己的 SDP 信息通过信令服务器发送给对方。当一方收到对端传来的 SDP 信息后它会将接 收到的 SDP 与自己的 SDP 进行比较并取出它们之间的交集这个交集就是它们协商的结果也就是它们最 终使用的音视频参数及传输协议了。 二、标准 SDP 规范 标准 SDP 规范主要包括SDP 描述格式和SDP 结构而 SDP 结构由会话描述和媒体信息描述两个部分组成。 其中媒体信息描述是整个 SDP 规范中最重要的知识它又包括了 媒体类型 媒体格式 传输协议 传输的 IP 和端口 1. SDP 的格式 SDP 是由多个 typevalue 这样的表达式组成的。其中type是一个字符value是一个字符串。需 要特别注意的是“” 两边是不能有空格的。如下所示 v0 o‐ 7017624586836067756 2 IN IP4 127.0.0.1 s‐ t0 0 ... v0SDP 由一个会话级描述session level description和多个媒体级描述media level description组成。 会话级session level的作用域是整个会话其位置是从 v 行开始到第一个媒体描述为止。 媒体级media level是对单个的媒体流进行描述其位置是从 m 行开始到下一个媒体描述即下一个 m为止。 另外除非媒体部分重新对会话级的值做定义否则会话级的值就是各个媒体的缺省默认值。 例子 v0 o‐ 7017624586836067756 2 IN IP4 127.0.0.1 s‐ t0 0 // 下面 m 开头的两行是两个媒体流一个音频一个视频。 maudio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126 ... mvideo 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116 ...每一行都是以一个字符开头后面紧跟着等于号等于号后面是一串字 符。 从“v”开始一直到“maudio”这之间的描述是会话级的而后面的两个“m”为媒体级。从中可以看出在该 SDP 描述中有两个媒体流一个是音频流另一个是视频流。 2. SDP 的结构 了解了 SDP 的格式下面我们来看一下 SDP 的结构它由会话描述和媒体描述两部分组成。 1会话描述 会话描述的字段比较多下面四个字段比较重要我们来重点介绍一下。 第一个vprotocol version必选。例子v0 表示 SDP 的版本号但不包括次版本号。第二个oowner/creator and session identifier必选。例子ousername session id version network type address type address该例子是对一个会话发起者的描述。其中 o 表示的是对会话发起者的描述 username用户名当不关心用户名时可以用 “” 代替 session id 数字串在整个会话中必须是唯一的建议使用 NTP 时间戳 version版本号每次会话数据修改后该版本值会递增 network type 网络类型一般为“IN”表示“internet” address type地址类型一般为 IP4 addressIP 地址。第三个Session Name必选。例子ssession name该例子表示一个会话在整个 SDP 中有且只 有一个会话也就是只有一个 s。第四个ttime the session is active必选。例子tstart time stop time该例子描述了会话 的开始时间和结束时间。其中 start time 和 stop time 为 NTP 时间单位是秒当start time和 stop time均为零时表示持久会话。 2媒体描述 媒体描述的字段也不少下面我们也重点介绍四个。 第一个mmedia name and transport address可选。例子mmedia port transport fmt list表示一个会话。在一个 SDP 中一般会有多个媒体描述。每个媒体描述以“m”开始到下一个“m”结束。 其中: media媒体类型比如 audio/video 等 port端口 transport传输协议有两种——RTP/AVP 和 UDP fmt list媒体格式即数据负载类型 (Payload Type) 列表。第二个a*zero or more media attribute lines可选。例子aTYPE或 aTYPE:VALUES 表示 属性用于进一步描述媒体信息在例子中 指属性的类型 a 有两个特别的属性类型即下面要介绍的 rtpmap 和 fmtp。第三个rtpmap可选。例子artpmap:payload type encoding name/clock rate [/encodingparameters]。 rtpmap 是 rtp 与 map 的结合即 RTP 参数映射表。 payload type 负载类型对应 RTP 包中的音视频数据负载类型。 encoding name编码器名称如 VP8、VP9、OPUS 等。 sample rate采样率如音频的采样率频率 32000、48000 等。 encodingparameters编码参数如音频是否是双声道默认为单声道。第四个fmtp。例子afmtp:payload type format specific parameters。 fmtp格式参数即 format parameters payload type 负载类型同样对应 RTP 包中的音视频数据负载类型format specific parameters指具体参数。具体的例子 v0 o‐ 4007659306182774937 2 IN IP4 127.0.0.1 s‐ t0 0 // 以上表示会话描述 ... // 下面的媒体描述在媒体描述部分包括音频和视频两路媒体 maudio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 ... artpmap:111 opus/48000/2 // 对 RTP 数据的描述 afmtp:111 minptime10;useinbandfec1 // 对格式参数的描述 ... artpmap:103 ISAC/16000 artpmap:104 ISAC/32000 ... // 上面是音频媒体描述下面是视频媒体描述 mvideo 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116 ... artpmap:96 VP8/90000可以清楚地看到在这段 SDP 片段里包括会话信息与媒体信息。在媒体信息中又包括了音 频流信息和视频流信息。 在音频流和视频流信息中通过 rtpmap 属性对它们做了进一步的说明。如音频流支持 OPUS 和 ISAC 编码 OPUS 编码的采样率是 48000双声道而 ISAC 编码的采样率可以是 16000 或 32000 它们都是单声道。 视频流支持 VP8采样率是 90000实质是指时钟信息 。 三、WebRTC 中的 SDP WebRTC 对标准 SDP 规范做了一些调整更详细的信息可以看这里它将 SDP 按功能分成几大块 Session Metadata会话元数据 Network Description网络描述 Stream Description流描述 Security Descriptions安全描述 Qos Grouping Descriptions 服务质量描述 下面这张图清晰地表达了它们之间的关系 通过上图我们可以看出WebRTC 按功能将 SDP 划分成了五部分即会话元数据、网络描述、流描述、安全 描述以及服务质量描述。WebRTC SDP 中的会话元数据Session Metadata其实就是 SDP 标准规范中的 会话层描述流描述、网络描述与 SDP 标准规范中的媒体层描述是一致的而安全描述与服务质量描述都是 新增的一些属性描述。 下图我们来看一个具体的例子 ... // 安全描述 aice‐ufrag:1uEe // 进入连通性检测的用户名 aice‐pwd:RQey7SOLQJETduNJQbk7z// 密码这两个是用于连通性检测的凭证 afingerprint:sha‐256 35:6F:40:3D:F6:9B:BA:5B:F6:2A:7F:65:59:60:6D:6B:F9:C7:AE:46:44:B4:E4:73:F8:60:67:4D:58:E2:EB: 9C //DTLS 指纹认证以识别是否是合法用户 ... // 服务质量描述 artcp‐mux artcp‐rsiz artpmap:96 VP8/90000 artcp‐fb:96 goog‐remb // 使用 google 的带宽评估算法 artcp‐fb:96 transport‐cc // 启动防拥塞 artcp‐fb:96 ccm fir // 解码出错请求关键帧 artcp‐fb:96 nack // 启用丢包重传功能 artcp‐fb:96 nack pli // 与 fir 类似 ... // 会话描述 v0 o‐ 7017624586836067756 2 IN IP4 127.0.0.1 s‐ t0 0 ... // 媒体描述 // 音频媒体 /* * 音频使用端口 1024 收发数据 * UDP/TLS/RTP/SAVPF 表示使用 dtls/srtp 协议对数据加密传输 * 111、103 ... 表示本会话音频数据的 Payload Type */ maudio 1024 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126 // 网络描述 // 指明接收或者发送音频使用的 IP 地址由于 WebRTC 使用 ICE 传输这个被忽略。 cIN IP4 0.0.0.0 // 用来设置 rtcp 地址和端口WebRTC 不使用 artcp:9 IN IP4 0.0.0.0 ... // 音频安全描述 //ICE 协商过程中的安全验证信息 aice‐ufrag:khLS aice‐pwd:cxLzteJaJBou3DspNaPsJhlQ afingerprint:sha‐256 上面的 SDP 片段是摘取的 WebRTC SDP 中的安全描述与服务质量描述这两块描述在标准 SDP 规范中没有 明确定义它更多属于 WebRTC 业务的范畴。 其中安全描述起到两方面的作用一方面是进行网络连通性检测时对用户身份进行认证另一方面是收发 数据时对用户身份的认证以免受到对方的攻击。从中可以看出 WebRTC 对安全有多重视了 服务质量描述指明启动哪些功能以保证音视频的质量如启动带宽评估当用户发送数据量太大超过评估的带 宽时要及时减少数据包的发送启动防拥塞功能当预测到要发生拥塞时通过降低流量的方式防止拥塞的 发生等等这些都属于服务质量描述的范畴。 为便于你更好地理解和使用 SDP接下来看一个真实的例子。 下面这段 SDP 是我从一个真实的 1 对 1 场景中截取出来的 WebRTC SDP 的片段。并对 SDP 上做了详细的 注释。 // 会话描述 v0 o‐ 7017624586836067756 2 IN IP4 127.0.0.1 s‐ t0 0 ... // 媒体描述 // 音频媒体 /* * 音频使用端口 1024 收发数据 * UDP/TLS/RTP/SAVPF 表示使用 dtls/srtp 协议对数据加密传输 * 111、103 ... 表示本会话音频数据的 Payload Type */ maudio 1024 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126 // 网络描述 // 指明接收或者发送音频使用的 IP 地址由于 WebRTC 使用 ICE 传输这个被忽略。 cIN IP4 0.0.0.0 // 用来设置 rtcp 地址和端口WebRTC 不使用 artcp:9 IN IP4 0.0.0.0 ... // 音频安全描述 //ICE 协商过程中的安全验证信息 aice‐ufrag:khLS aice‐pwd:cxLzteJaJBou3DspNaPsJhlQ afingerprint:sha‐256 FA:14:42:3B:C7:97:1B:E8:AE:0C2:71:03:05:05:16:8F:B9:C7:98:E9:60:43:4B:5B:2C:28:EE:5C:8F3:17 ... // 音频流媒体描述 artpmap:111 opus/48000/2 //minptime 代表最小打包时长是 10msuseinbandfec1 代表使用 opus 编码内置 fec 特性 afmtp:111 minptime10;useinbandfec1 artpmap:103 ISAC/16000 artpmap:104 ISAC/32000 artpmap:9 G722/8000 ... // 视频媒体 mvideo 9 UDP/TLS/RTP/SAVPF 100 101 107 116 117 96 97 99 98 ... // 网络描述 cIN IP4 0.0.0.0 artcp:9 IN IP4 0.0.0.0 ... // 视频安全描述 aice‐ufrag:khLS aice‐pwd:cxLzteJaJBou3DspNaPsJhlQ afingerprint:sha‐256 FA:14:42:3B:C7:97:1B:E8:AE:0C2:71:03:05:05:16:8F:B9:C7:98:E9:60:43:4B:5B:2C:28:EE:5C:8F3:17 ... // 视频流描述 amid:video ... artpmap:100 VP8/90000 // 服务质量描述 artcp‐fb:100 ccm fir artcp‐fb:100 nack // 支持丢包重传参考 rfc4585 artcp‐fb:100 nack pli artcp‐fb:100 goog‐remb // 支持使用 rtcp 包来控制发送方的码流 artcp‐fb:100 transport‐cc ...从上面这段 SDP 中你应该可以总结出SDP 是由一个会话层和多个媒体层组成的而对于每个媒体层 WebRTC 又将其细划为四部分即媒体流、网络描述、安全描述和服务质量描述。 并且在上面的例子中有两个媒体层——音频媒体层和视频媒体层而对于每个媒体层也都有对应的媒体流描 述、网络描述、安全描述及服务质量描述。
http://www.yutouwan.com/news/173855/

相关文章:

  • 没有公司个人可以做网站卖东西吗h5游戏是什么
  • 微信h5页面制作软件哪个好随州网站优化
  • 景德镇网站网站建设全网分销平台
  • 信誉好的合肥网站推广精仿小米社区wordpress模板
  • 常州网站制作公司有哪些蚌埠集团网站建设
  • 在什么网站可以自承包活来做蒲公英路由做网站
  • 网站都是用什么编写的斯特云流量网站
  • 安溪哪里有学做网站wordpress左侧菜单怎么添加
  • 北京网站建设公司电话网站建设费用 开办费
  • 网站建设开发能力很强的企业建设项目环境影响评价公示网站
  • 那些外国网站设计图多wordpress 有评论时邮箱设置
  • 深圳市建网站公wordpress4.8发布
  • 有没有便宜的网站建设做ic销售的各种网站
  • 夹江移动网站建设wordpress网址缩短
  • 互联网站长名人西安最新活动轨迹
  • 网站建设相关视频教程动态域名申请
  • 动漫设计与制作设计课程站内优化怎么做
  • 网站站内消息设计方案嘉兴市住房和城乡建设局门户网站
  • 用dw做红米网站网站上传后怎么访问
  • 公司怎么搭建自己网站深圳福步外贸论坛
  • 上海免费建站模板网店运营策划书
  • 专做美食的网站东莞常平怎么样
  • 建立公司网站流程网站建设原创软文
  • 设计网站页面北京小程序制作卓越华网天下
  • 网站开发实训目的衡阳百度推广公司
  • 台州手机网站建设兴化网页定制
  • 做网站百科登封做网站
  • 泰州市做网站北京门户网站设计
  • 网站静态页模板深圳知名工业设计公司
  • 兰州网站制作cheng如何用python做网站脚本语言