06 | WebRTC中的RTP及RTCP详解
该思维导图由 AI 生成,仅供参考
UDP 还是 TCP?
- 深入了解
- 翻译
- 解释
- 总结
WebRTC中的RTP及RTCP详解 WebRTC是一个强大的工具,提供了丰富的功能和技术,对于从事音频、视频和网络行业的人来说都具有巨大的吸引力。本文深入探讨了WebRTC中的RTP和RTCP协议,以及在实时互动直播系统中选择UDP协议的重要性。 文章首先强调了在实现实时互动直播系统时必须使用UDP协议的重要性,因为TCP在极端网络情况下可能导致严重的延迟,而实时互动直播系统无法容忍这样的延迟。此外,文章还介绍了RTP协议的重要性,指出在实时互动直播系统中,音视频数据流并不直接交给UDP传输,而是先加上RTP头再进行传输。RTP协议中的字段含义和示例也得到了详细解释,帮助读者更好地理解RTP协议的作用和实际应用。 另外,文章还介绍了RTCP协议的作用,通过RR和SR报文的交换,各端可以了解自己的网络质量情况。此外,还介绍了RTCP中的其他报文,如FIR报文的重要性和作用。最后,文章提到了在WebRTC中,RTP/RTCP只是众多协议中的比较重要的两个,还有SRTP/SRTCP、DTLS、STUN/TURN协议等。 总的来说,本文通过深入讨论WebRTC中的RTP和RTCP协议,为读者提供了对实时互动直播系统中网络传输协议选择和RTP协议的重要性有了更深入的了解。
《从 0 打造音视频直播系统》,新⼈⾸单¥59
全部留言(16)
- 最新
- 精选
- Dump老师,请教一下,使用UDP的确可以解决网络不好重传导致的延时问题,RTP协议解决了数据包组装的问题,而RTCP只是用于了解发送端和接收端的网络质量,那么UDP导致的丢包问题是如何解决的呢? 另外,传输过程的视频数据,关键帧间隔是小点好呢还是大点好,从我们直播使用情况来看,关键帧间隔如果设大,貌似容易出现跳帧的问题,我的理解是P、B帧数据丢失引起,但是I帧就不容易丢吗?不太理解其中的原理。问题有点长,还望了解解答。多谢了
作者回复: 1. UDP 丢包通过 RTCP 的 NACK 来解决 2. 关键帧一般 1.5 秒一个关键帧就好了。 3. I帧/B帧/P帧的丢包概率是一样的,没什么区别
2019-08-2014 - scorpio老师您好,我们现在做的项目是从NVR推流到Web端展示实时视频的项目。实现方式是通过ffmpeg获取NVR流,并将rtsp转成rtmp,推向nginx;nginx作为流服务器; 遇到的问题: 1、cpu消耗高,i7-8700 cpu @3.2Ghz 3.19Ghz,8G内存配置 同时最高只能推11个视频流 2、视频延迟会随着推流的时长,延迟越来越来,一开始的时候就1-2秒的延迟 希望老师提供下解决思路,怎样能增加推流的数量,怎样降低延迟
作者回复: ffmpeg可以做一些优化,比如使用 GPU 加速,不知你做了没?但也提高不了太多。另外,使用rtmp延迟很难下来,这是由 RTMP/TCP的网络特性造成的,你能解决的只是你自己的逻辑上看是否可以优化,但本质改来了。在后面的文章中我有介绍为什么不能用 RTMP/TCP 做实时传输
2019-07-2988 - John這篇特別重要 精華中的精華
作者回复: 谢谢〜
2019-08-294 - smilekaka老师您好,我想请教一个我们在使用WebRTC时遇到的一个问题,有一个网络环境明明网速很快,测试网速时也没发现丢包的情况,但是使用WebRTC连接时,一直提示ICE连接失败,而我们同时用另一个网络访问时,网速很慢都能连接成功,并能拉取到对端的画面,这是什么原因?
作者回复: 是与服务端连接失败还是对端连接失败?看看地址是否正确?
2019-07-2842 - Geek_leo长沙老师你好,我现在可以实现wifi不同局域网下的连接,但是4g设备,不管移动还是联通或者电信互联,怎么都看不到对方的画面 不知道啥情况。能帮分析一下吗
作者回复: 因为你没有配置 TURN 服务
2019-07-272 - Geek_82d1fd老师,请教一个问题,UDP有发送缓冲和接收缓冲吗?
作者回复: 有啊!webrtc底层的jiterbuffer就是
2020-04-111 - XiaoLong在读RFC-3550时,关于RTCP发送者信息中NTP timestamp和RTP timestamp的区别和作用不是很理解,希望老师能够指导,谢谢。
作者回复: NTP 时间是全世界的统一时间。RTP 时间是一个相对时间。
2020-01-201 - 大恒老师,请问在RTCP协议中,客户端在接收到SR后,何时发送RR?如何计算这个时间点呢?
作者回复: 这就涉及到高级的 webrtc的核心算法问题了,你自己可以研究一下,这块的知识比较复杂,本专栏中不会讲这方面的知识。我会在其它课中讲,你可以关注我后面的课。
2019-07-291 - Sunney老师您好,我想咨询一下对于网络摄像头在页面展示,有什么比较好的方式? 还有一般视频流在消息队列一般是如何传输的?
作者回复: 网络摄像头是指什么?没太明白你的意思,当音视频流被采集到之后,都可以通过 video 标签在页面上展示出来。视频流不用消息队列,如MQ 之类的,音视频要调性处理,MQ 不是做这个的。
2019-07-2941 - XiaoLong“PT=98 是视频数据,PT=111 是音频数据”,在rfc3551-《RTP Prole for Audio and Video Conferences with Minimal Control》中只说明PT:96-127为dynamic,但并没有指明具体是哪种类型。请问老师,哪里可以看到PT:96-127具体的定义,谢谢!
作者回复: 在 SDP 里描述的
2020-01-19