
流媒体传输
meetyanfei
这个作者很懒,什么都没留下…
展开
-
mesonbuild wrap
问题:编译mediasoup 下载warp中url失败在编译mediasoup的时候, 需要下载一些第三方库, 比如openssl sctp 等, 由于网路原因, 这些可能会下载失败, 导致失败.mediasoup 使用meson构建编译, 引用第三库是用mesonbuild 的wrap方式原有的wrapfile 使用url 下载文件[wrap-file]directory = openssl-1.1.1lsource_url = https://www.openssl.org/source/o原创 2021-11-14 17:52:18 · 2068 阅读 · 5 评论 -
Wirshark 解析rtcp数据包 显示错误
背景:浏览器使用webrtc推流,转包发现rtcp的sr包 ntp timestamp显示错误,排查原因。使用wirshark看抓取的数据包,发现rtcp的 发送者报告也就是sr中的ntp时间以及timestamp都不正确,无法和数据包对上,但是ssrc是正确的,这是为什么呢?Wirshark抓包如下图:Webrtc规定,传输使用srtcp在程序中加日志,在生成rtcp的sr的代码以及加密srtcp后的数据 打印字节流,作为对比Rtcp sr原始数据和加密数据对比将srt原创 2020-11-01 11:22:39 · 721 阅读 · 0 评论 -
chrome浏览器无法播放音频的排查
1、使用流媒体,通过ice方式,给chrome推流,只有音频opus,无法播放2、通过wirshark抓包 以及chrome://webrtc-internals/ 查看 发现已经接收流3、通过导出一路相同流,使用ffmpeg播放,声音清晰,说明流没有问题4、查看sdp,sdp中既有音频也有视频,但是推流只有音频,可能和这个有关5、修改sdp,使视频无效sb.append("m=video 0 UDP/TLS/RTP/SAVPF 0").append("\r\n");sb.appen原创 2020-09-13 23:05:18 · 1798 阅读 · 0 评论 -
tcp/udp 发送流程
这是一篇持续的博客,了解局限,慢慢补充(1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部。因为首部中说明大小的字段为16位。IPv6的数据报最大大小是65575字节,包括40字节的IPv6首部。同样是展16位,但是IPv6首部大小不算在里面,所以总大小比IPv4大一个首部(40字节)。(2)MTU许多网络有一个可由硬件规定的MTU。以太网的MTU为1500字节。有一些链路的MTU的MTU可以由认为配置。IPv4要求的最小链路MTU为68字节。这允许最大的IPv4首部(包括2原创 2020-06-08 22:28:59 · 388 阅读 · 0 评论 -
ice流程
本文谈到的技术点,表达可能不太严谨,主要是说明流程。本文主要介绍一下ice的流程ice交互难点ice交互难得原因,是Nat技术所导致,为了克服这个,有了stun、turn方法,图中 Nat规则 不太严谨,是一个大体意思。这种一对多、多对多的情况,导致A、B之间的不通。一般来讲,分为对称型NAT和圆锥形NAT,其中圆锥形NAT又分为完全圆锥型NAT、IP限制圆锥型NAT、Port限制圆锥型NAT。1 完全圆锥型NAT完全圆锥型NAT是指同一个内网IP1+Port1向任何外网发送数据,在NAT会原创 2020-05-31 23:59:21 · 1129 阅读 · 0 评论