• 狂奔的带刀蜗牛
    2021-12-10
    不超过1500主要是因为Udp协议的MTU为1500,超过了会导致Udp分片传输,而分片的缺点是丢了一个片,整包数据就废弃了

    作者回复: 回答的很好

    共 5 条评论
    11
  • 我有一条鱼
    2022-01-24
    想问一下RTCP协议如果也是基于UDP协议的话,怎么保证统计信息是正确的呢?所以RTCP是不是应该具体TCP协议?

    作者回复: 像丢包率这种信息稍微丢一些问题不大,像NACK这种丢了有可能会造成重传慢了,是会有些影响。但一般只要不是非常大的丢包就没太大问题。一般不需要用TCP来传。

    共 2 条评论
    3
  • Geek_b8aa7b
    2021-12-28
    rtp和rtcp是基于udp的,上面也提到实时场景一般用udp,但为什么rtmp是基于tcp的,我看很多音视频传输是基于rtmp的,不是说tcp会延时嘛?

    作者回复: 因为使用udp的话,你就需要自己实现拥塞控制等QOS的策略了。这个东西是很难的。rtmp用在直播领域,对实时性要求没有rtc高。

    
    2
  • 木希
    2021-12-10
    江哥,您这课程介绍的视频技术原理性都很详细,可以很好的理解视频原理性的东西,后面是否会带上部分代码逻辑的实现,原理跟实现还是有很长的路。

    作者回复: 出发点是我觉得代码很多没有注释你很难看懂所以我想做一门课程让大家懂基本原理,之后看代码就会容易一些。这些原理在webrtc和ffmpeg 里面都有实现,只是光看代码很难看懂。我在想以后有时间我是不是可以直接讲讲里面的代码。可是最近太忙了。😭

    共 6 条评论
    2
  • weekend
    2022-03-14
    好像没有讲RTMP相关的,RTMP的区别是什么

    作者回复: rtmp其实就是使用的flv的封装,并使用tcp传输。

    
    
  • Chris Zou
    2022-01-23
    老师,结合jitterbuffer那章来看,对于FU-A封包,一个NALU单元对应一个slice,一帧数据是有可能对应多个slice,也就是NALUT单元,每个slice都会有一次S起始位和E终止位?

    作者回复: 是的

    
    
  • 王夏望
    2021-12-12
    请问对于不同帧,rtp包中的timestamp的差值是固定的还是变化的?

    作者回复: 实时采集的话不一定是固定的。比如有时帧率是变化的

    共 2 条评论
    
  • 晓龙
    2022-02-14
    记录下从视频从编码到传输分别经历了哪些格式: 一段视频 ->由多个Frame组成(I,B,P) 一个Frame -> 分为多个Slice 一个Slice -> 由多个MB组成 编码: Slice编码 -> MB分析 -> 熵编码 ->封装NALU 传输: NALU -> 由一个或多个RTP包组装传输
    
    2
  • accessory
    2022-04-29
    请问,RTP 头中的 16 位 sequence number 起始值为什么是随机的? 2 字节的能表示的范围是 [0, 2^16-1],超出这个范围后 sequence number 怎么处理,是从 0 重新开始,还是换一个随机数?
    共 1 条评论
    1
  • A君
    2022-04-20
    预测帧经过编码后需要封装进RTP包才能发送,因为接收方要知道码流是使用哪种编码以及播放速度是多少等信息。RTP包没有丢包重传和拥塞控制,RTCP通过发送RTP记录来统计已接受包信息,用户可以根据这些信息来自己实现丢包重传。RTP也会根据码流大小采用单包或分片的格式来封装包。
    
    1