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

国内网站建设费用联盟专业做企业活动的趴网站

国内网站建设费用联盟,专业做企业活动的趴网站,wordpress go链接不跳转,品牌建设的思路前言 在学习SRS的RTC模块之前#xff0c;首先来分析下SRS在将rtmp推流转成rtc流#xff0c;通过浏览器拉取webrtc流场景下产生的SDP内容 SDP格式介绍 SDP数据是文本格式#xff0c;由多个 keyvalue 表达式构成#xff0c;key的值只能是一个字符…前言 在学习SRS的RTC模块之前首先来分析下SRS在将rtmp推流转成rtc流通过浏览器拉取webrtc流场景下产生的SDP内容 SDP格式介绍 SDP数据是文本格式由多个 keyvalue 表达式构成key的值只能是一个字符value是一个字符串。注意等号两边不能有空格 SDP主要由下列描述构成 会话级描述作用于整个会话位置从 v 行开始到第一个媒体描述为止 vsdp协议版本默认为0 例子v0 o发起者或者会话标识 格式ousername session id version network type address type address例子oSRS/4.0.245(Leo) 17778048 2 IN IP4 0.0.0.0说明 username用户名不关心时可用 ‘-’ 代替session id 会话id会话唯一规范建议使用NTP时间戳version会话版本会话数据发生变化时该版本递增规范建议使用NTP时间戳network type网络类型IN表示 Internetaddress type地址类型比如IP4、IP6等address域名或者IP地址 s会话名称每个SDP里面只能有一个且不能为空 例子sSRSPlaySession t, 会话的有效时间 格式tstart time stop time例子t0 0说明 start time/stop time均为NTP时间戳均为0时表示持久会话 b会话或媒体使用的建议带宽 媒体级别描述针对单个媒体流一个会话中可以有多个媒体流位置是从 m 行开始到下一个媒体描述为止 m, 媒体类型和传输地址 格式mmedia type port transport fmt list例子maudio 9 UDP/TLS/RTP/SAVPF 111 mvideo 9 UDP/TLS/RTP/SAVPF 106说明 media type媒体类型比如audio/videoapplication(bfcp)、text等类型port当前媒体类型的数据传输端口在RTC场景下都是通过ICE candidate的信息来进行传输的这个端口不会用到但是在SIP场景下这个port代表RTP端口结合SDP会话级别描述中的C中的ip地址就可以知道在SIP中这路流的传输地址了transport传输协议运行与c中定义的地址类型之上比如IP4就是运行IP4之上的协议fmt代表音视频流的Media Codec会话后面会跟着rtpmap、rtcp-fb、fmtp这些属性来进一步的描述可以有多个值存在多个值的时候表示在这次会话中多种类型都会用到且第一个是默认的。 artpmap描述媒体会话描述(m)中的fmt负载类型对应的编码器名称以及时钟速率信息和编码参数 例子artpmap:111 opus/48000/2 // 对fmt为111的类型进行描述audio codec/sample rate/channel artpmap:106 H264/90000 // 对fmt为106的类型进行描述video codec/timebaseafmtp扩展字段对媒体会话描述中的指定的fmt进行详细的参数格式指定(这个参数是需要有SDP传输并且透传给使用此格式的媒体工具)每一个fmt只能有一个此描述 格式afmtp:fmt format specific parameters例子afmtp:106 level-asymmetry-allowed1;packetization-mode1;profile-level-id42e01f 说明 fmt媒体会话描述(m)中指定的编码格式format specific parametersfmt对应的透传参数level-asymmetry-allowed1 是否允许两端的编码level不一致必须SDP双方都为1packetization-mode1 NALU打包方式1表示每帧图像被拆分到多个NALU单元传送这些NALU单元传送的顺序是按照解码的顺序发送的profile-level-id42e01f 指定H264的baseline和level等参数 aextmap扩展支持什么协议 例子aextmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 asendrecv 媒体流的方向既可以在会话描述中也可以在媒体描述中 例子 asendonly //仅发送说明 sendrecv: 双向传输即发送也接收sendonly: 只发送数据revonly: 只接收数据inactive: 禁止发送数据 assrcRTC场景下音视频流和RTP/RTCP复用单一端口通过SSRC区分每一路流通过数据包的头部字段值来区分RTC/RTCP 例子assrc:3459677730 cname:648fef7tl720yj49 assrc:3459677730 label:audio-8804l2a1 assrc:3459677731 cname:648fef7tl720yj49 assrc:3459677731 label:video-7h7733ci说明cname是RTCP为每个RTP用户提供的一个全局唯一的规范名称标识符描述该RTP流对应的RTCP协议中的cname。label对应MediaStreamTrack ID amid当前媒体级别描述的ID相当于给媒体级别描述编号 例子amid:audio //audio就是当前这个媒体级别描述(m)的ID amid:1 //同理mid后面的值也可以是数字网络描述 c指明接收或者发送音视频使用的IP地址webrtc使用ICE传输这个被忽略 格式cnettype addrtype connection-address例子cIN IP4 0.0.0.0说明可以是会话级别或者是媒体级别如果是媒体级别则每一个媒体级别描述都必须至少包含一个 acandidatecandidate信息传输的候选人有host(主机)类型有replay反射类型等 格式ccandidate:foundation component-id transport priority conn-addr conn-port cand-type candidate-types例子// 传输协议是udp优先级是2130706431 // ip地址是124.221.111.76端口8000candidate的类型是host类型(即ip地址是主机的ip地址) // 候选者的代数式0表示最初生成的 acandidate:0 1 udp 2130706431 124.221.111.76 8000 typ host generation 0说明candidate信息可以有多个 安全描述 acryptoaice-ufragice short-term认证算法用到的用户名aice-pwd ice short-term认证算法用到的密码afingerprint DTLS过程中的Certificate整数的签名 DTLS角色 asetup 例子asetup:passive说明指定DTLS角色Active客户端Passive服务端两者都可以则是actpass ICE策略 aice-options:trickie 说明trickie说明SDP中没有包含candidate信息candidate是通过信令单独交换的client一边收集candidate一边发送给对端进行连通性检查提高连通性检查和候选捕获的速度 aice-lite ICE的实现分为以下两种 Full ICE: 参与连接的两端都需要进行连通性检查Lite ICE: 在Full ICE和Lite ICE连接时只需要Full ICE一方进行连通性检查Lite一方只需要回应Response消息就行。这种模式常用语公网设备 aice-option:renomination 说明允许 ICE controlling 一方动态重新提名新的 candidate 默认情况 Offer 一方为controlling 角色answer 一方为 controlled 角色同时 Lite 一方只能为 controlled 角色 QOSGrouping传输描述 artcp-fb支持的RTC反馈类型报文媒体级别描述作用域 例子artcp-fb:111 transport-cc // 对于111这个fmt支持transport-cc这个报文 artcp-fb:106 transport-cc // 同理 artcp-fb:106 nack // 对于106这个fmt在ARQ上支持nack artcp-fb:106 nack pli // 对于106这个fmt在关键帧上支持pli处理注意rtcp-fb不能用于会话级别描述只能用于媒体级别描述而且在m描述的协议字段一定要有AVPF agroup 例子agroup:BUNDLE 0 1说明表示mid值为0和1的媒体会话描述(m)进行复用端口传输 artcp-mux 说明rtcp和rtp复用一个端口号 浏览器创建的本地Offer 通过SRS提供的RTC播放H5页面(http://localhost:8080/players/rtc_player.html?autostarttrue)可以去拉取SRS上的RTC流参考文章SRS调试webrtc流点击页面的播放视频可以看到RTC播放页面请求了一个http接口其中携带H5的local sdp。 local sdp的详细内容如下 v0 o- 4052671107298259095 2 IN IP4 127.0.0.1 s- t0 0 agroup:BUNDLE 0 1 aextmap-allow-mixed amsid-semantic: WMS maudio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126 cIN IP4 0.0.0.0 artcp:9 IN IP4 0.0.0.0 aice-ufrag:PTFm aice-pwd:SjhcZkVwk0wlE9AAjAeFrv93 aice-options:trickle afingerprint:sha-256 55:20:7B:84:80:3C:3A:95:17:C0:BE:0B:3C:23:DB:46:3A:58:29:87:1A:B1:E6:8C:53:9A:27:19:0C:BE:CF:86 asetup:actpass amid:0 aextmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level aextmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time aextmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 aextmap:4 urn:ietf:params:rtp-hdrext:sdes:mid arecvonly artcp-mux artpmap:111 opus/48000/2 artcp-fb:111 transport-cc afmtp:111 minptime10;useinbandfec1 artpmap:63 red/48000/2 afmtp:63 111/111 artpmap:9 G722/8000 artpmap:0 PCMU/8000 artpmap:8 PCMA/8000 artpmap:13 CN/8000 artpmap:110 telephone-event/48000 artpmap:126 telephone-event/8000 mvideo 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 35 36 37 38 102 103 104 105 106 107 108 109 127 125 39 40 41 42 43 44 45 46 47 48 112 113 114 115 116 49 cIN IP4 0.0.0.0 artcp:9 IN IP4 0.0.0.0 aice-ufrag:PTFm aice-pwd:SjhcZkVwk0wlE9AAjAeFrv93 aice-options:trickle afingerprint:sha-256 55:20:7B:84:80:3C:3A:95:17:C0:BE:0B:3C:23:DB:46:3A:58:29:87:1A:B1:E6:8C:53:9A:27:19:0C:BE:CF:86 asetup:actpass amid:1 aextmap:14 urn:ietf:params:rtp-hdrext:toffset aextmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time aextmap:13 urn:3gpp:video-orientation aextmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 aextmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay aextmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type aextmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing aextmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space aextmap:4 urn:ietf:params:rtp-hdrext:sdes:mid aextmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id aextmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id arecvonly artcp-mux artcp-rsize artpmap:96 VP8/90000 artcp-fb:96 goog-remb artcp-fb:96 transport-cc artcp-fb:96 ccm fir artcp-fb:96 nack artcp-fb:96 nack pli artpmap:97 rtx/90000 afmtp:97 apt96 artpmap:98 VP9/90000 artcp-fb:98 goog-remb artcp-fb:98 transport-cc artcp-fb:98 ccm fir artcp-fb:98 nack artcp-fb:98 nack pli afmtp:98 profile-id0 artpmap:99 rtx/90000 afmtp:99 apt98 artpmap:100 VP9/90000 artcp-fb:100 goog-remb artcp-fb:100 transport-cc artcp-fb:100 ccm fir artcp-fb:100 nack artcp-fb:100 nack pli afmtp:100 profile-id2 artpmap:101 rtx/90000 afmtp:101 apt100 artpmap:35 VP9/90000 artcp-fb:35 goog-remb artcp-fb:35 transport-cc artcp-fb:35 ccm fir artcp-fb:35 nack artcp-fb:35 nack pli afmtp:35 profile-id1 artpmap:36 rtx/90000 afmtp:36 apt35 artpmap:37 VP9/90000 artcp-fb:37 goog-remb artcp-fb:37 transport-cc artcp-fb:37 ccm fir artcp-fb:37 nack artcp-fb:37 nack pli afmtp:37 profile-id3 artpmap:38 rtx/90000 afmtp:38 apt37 artpmap:102 H264/90000 artcp-fb:102 goog-remb artcp-fb:102 transport-cc artcp-fb:102 ccm fir artcp-fb:102 nack artcp-fb:102 nack pli afmtp:102 level-asymmetry-allowed1;packetization-mode1;profile-level-id42001f artpmap:103 rtx/90000 afmtp:103 apt102 artpmap:104 H264/90000 artcp-fb:104 goog-remb artcp-fb:104 transport-cc artcp-fb:104 ccm fir artcp-fb:104 nack artcp-fb:104 nack pli afmtp:104 level-asymmetry-allowed1;packetization-mode0;profile-level-id42001f artpmap:105 rtx/90000 afmtp:105 apt104 artpmap:106 H264/90000 artcp-fb:106 goog-remb artcp-fb:106 transport-cc artcp-fb:106 ccm fir artcp-fb:106 nack artcp-fb:106 nack pli afmtp:106 level-asymmetry-allowed1;packetization-mode1;profile-level-id42e01f artpmap:107 rtx/90000 afmtp:107 apt106 artpmap:108 H264/90000 artcp-fb:108 goog-remb artcp-fb:108 transport-cc artcp-fb:108 ccm fir artcp-fb:108 nack artcp-fb:108 nack pli afmtp:108 level-asymmetry-allowed1;packetization-mode0;profile-level-id42e01f artpmap:109 rtx/90000 afmtp:109 apt108 artpmap:127 H264/90000 artcp-fb:127 goog-remb artcp-fb:127 transport-cc artcp-fb:127 ccm fir artcp-fb:127 nack artcp-fb:127 nack pli afmtp:127 level-asymmetry-allowed1;packetization-mode1;profile-level-id4d001f artpmap:125 rtx/90000 afmtp:125 apt127 artpmap:39 H264/90000 artcp-fb:39 goog-remb artcp-fb:39 transport-cc artcp-fb:39 ccm fir artcp-fb:39 nack artcp-fb:39 nack pli afmtp:39 level-asymmetry-allowed1;packetization-mode0;profile-level-id4d001f artpmap:40 rtx/90000 afmtp:40 apt39 artpmap:41 H264/90000 artcp-fb:41 goog-remb artcp-fb:41 transport-cc artcp-fb:41 ccm fir artcp-fb:41 nack artcp-fb:41 nack pli afmtp:41 level-asymmetry-allowed1;packetization-mode1;profile-level-idf4001f artpmap:42 rtx/90000 afmtp:42 apt41 artpmap:43 H264/90000 artcp-fb:43 goog-remb artcp-fb:43 transport-cc artcp-fb:43 ccm fir artcp-fb:43 nack artcp-fb:43 nack pli afmtp:43 level-asymmetry-allowed1;packetization-mode0;profile-level-idf4001f artpmap:44 rtx/90000 afmtp:44 apt43 artpmap:45 AV1/90000 artcp-fb:45 goog-remb artcp-fb:45 transport-cc artcp-fb:45 ccm fir artcp-fb:45 nack artcp-fb:45 nack pli artpmap:46 rtx/90000 afmtp:46 apt45 artpmap:47 AV1/90000 artcp-fb:47 goog-remb artcp-fb:47 transport-cc artcp-fb:47 ccm fir artcp-fb:47 nack artcp-fb:47 nack pli afmtp:47 profile1 artpmap:48 rtx/90000 afmtp:48 apt47 artpmap:112 H264/90000 artcp-fb:112 goog-remb artcp-fb:112 transport-cc artcp-fb:112 ccm fir artcp-fb:112 nack artcp-fb:112 nack pli afmtp:112 level-asymmetry-allowed1;packetization-mode1;profile-level-id64001f artpmap:113 rtx/90000 afmtp:113 apt112 artpmap:114 red/90000 artpmap:115 rtx/90000 afmtp:115 apt114 artpmap:116 ulpfec/90000 artpmap:49 flexfec-03/90000 artcp-fb:49 goog-remb artcp-fb:49 transport-cc afmtp:49 repair-window10000000SRS返回的远端Answer SRS在srs_app_rtc_api.cpp文件中的SrsGoApiRtcPlay类中处理offer请求返回内容如下 远端Answer内容如下 v0 // 会话级描述SDP协议版本固定为0 oSRS/4.0.245(Leo) 17778048 2 IN IP4 0.0.0.0 // 会话级描述 sSRSPlaySession t0 0 aice-lite agroup:BUNDLE 0 1 amsid-semantic: WMS live/livestream maudio 9 UDP/TLS/RTP/SAVPF 111 cIN IP4 0.0.0.0 aice-ufrag:j0w47g4z aice-pwd:879b5n40s824s1985h3z60s77a8132v1 afingerprint:sha-256 A8:83:2B:5D:FF:E2:5A:14:6C:0A:24:A0:11:C3:01:8A:4A:8E:AF:3F:AC:B6:67:EE:3C:4B:47:07:7E:7B:D9:6F asetup:passive amid:0 aextmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 asendonly artcp-mux artcp-rsize artpmap:111 opus/48000/2 artcp-fb:111 transport-cc assrc:3459677730 cname:648fef7tl720yj49 assrc:3459677730 label:audio-8804l2a1 acandidate:0 1 udp 2130706431 124.221.111.76 8000 typ host generation 0 mvideo 9 UDP/TLS/RTP/SAVPF 106 cIN IP4 0.0.0.0 aice-ufrag:j0w47g4z aice-pwd:879b5n40s824s1985h3z60s77a8132v1 afingerprint:sha-256 A8:83:2B:5D:FF:E2:5A:14:6C:0A:24:A0:11:C3:01:8A:4A:8E:AF:3F:AC:B6:67:EE:3C:4B:47:07:7E:7B:D9:6F asetup:passive amid:1 aextmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 asendonly artcp-mux artcp-rsize artpmap:106 H264/90000 artcp-fb:106 transport-cc artcp-fb:106 nack artcp-fb:106 nack pli afmtp:106 level-asymmetry-allowed1;packetization-mode1;profile-level-id42e01f assrc:3459677731 cname:648fef7tl720yj49 assrc:3459677731 label:video-7h7733ci acandidate:0 1 udp 2130706431 124.221.111.76 8000 typ host generation 0 总结 对比本地和远端SDP发现浏览器提供的特性非常多SRS提供的较少SRS是Lite ICE客户端无需进行连通性检测。 参考文档 https://blog.csdn.net/aggresss/article/details/109850434 https://www.livevideostack.cn/news/webrtc-sdp-details-and-analysis/ https://blog.csdn.net/zqxf123456789/article/details/109696266 RFC4566 从0打造音视频直播系统李超
http://www.laogonggong.com/news/130273.html

相关文章:

  • 网站平面设计焊工培训内容
  • 厦门企业建网站制作百度竞价代运营托管
  • 网站建设绩效考核网站建设现在主要做些什么
  • 电影网站建设 流程东莞横沥中学
  • 苏州专业高端网站建设公司网站开发工作好吗
  • 视频在线观看网站怎么建设东莞网站建设找谁
  • 代申请可信网站企业网站结构图
  • 南通科技网站建设wordpress 默认播放器
  • 合肥网站建设 毅耘怎么看网站是动态还是静态
  • 献县网站黄骅贴吧最新招聘信息
  • asp.net 2.0网站开发全程解析 下载免费供求信息发布
  • 在溧水做新店推广那家网站好响应式网站和不响应式
  • 郑州公司网站平台建设品牌加盟
  • 评价高的企业网站开发2022年自媒体平台倒闭
  • 上海注册公司买新能源车邵武网站建设wzjseo
  • 织梦网站织梦做英文版的建设网站需要哪些软硬件条件
  • 免费网站大全网站开发与设计 课程简介
  • 网站内部资源推广怎么做wordpress怎么上传产品
  • 网站制作的书籍wordpress数据库被挂马
  • 四模网站做百度推广设置网站统计
  • 喀什百度做网站多少钱wordpress 免插件七牛
  • 网站用哪些系统做的比较好纪念馆网站建设
  • 外包 网站开发公司wordpress卡密激活码自动发放
  • 网站推广属于什么行业网页特效梦工厂
  • 在线推广企业网站的方法有哪些浙江网站建设 seo
  • 网站建设课程心得中国建设银行郑州分行网站
  • 经常浏览不良网站会被记录吗wordpress 图片延迟加载
  • 网站开发项目实例wordpress文章和页面的区别
  • 嘉兴公司的网站设计网页制作公司是做什么的
  • 阜阳网站建设价格低定制网站+域名+企业邮箱