• Jason
    2018-06-22
    写的特别清楚明白,超哥绝对适合当老师。问题1,rtmp的问题是基于tcp连接的,不适合做实时流传输?改进方法,那就是把UDP引进?

    作者回复: 赞

     1
     44
  • fang
    2018-06-27
    RTMP握手的图是不是有点问题?服务器收到客户端c0发来的版本号才回s0,图上服务器啥也没收到就发s0,它怎么知道给谁发?
     1
     19
  • anzaikk
    2018-09-22
    一开始看不懂,看了五六遍感觉很清晰,赞👍
    
     13
  • Jealone
    2018-06-22
    优化方式就是QUIC协议
    
     11
  • 咖啡猫口里的咖啡猫�...
    2018-06-22
    直播用TCP延迟太高了吧,,,他的保证有序,拥塞机制,,导致current等待之前的包

    作者回复: 是的,赞

    
     9
  • Jason
    2018-07-12
    再度一遍,还是很牛,以rtmp为例很系统的讲述了流媒体服务的原理,其实rtsp、hls也是类似的原理,只是交互形式的不同。每个视频从业者都应该拿去读读。
    
     6
  • wahaha
    2018-06-23
    一般说的看视频其实包含了音频,不然成了哑巴剧了,请老师讲下音频。

    作者回复: 有机会补充一下

    
     6
  • 天王
    2019-06-11
    流媒体协议:1视频是一张张图片连续播放组成的图片,如果按照图片保存,占用空间很大,传输和存储都会占用大量空间,所以需要对图片进行处理,去空间化,去冗余化,编码处理2 直播,首先主播端把视频推流到服务器,服务器进行视频分发,客户端拉流,将视频拉取到本地用播放器进行播放。3 编码 将组成视频的图片进行编码,编码就是压缩过程。每张图片都是一帧,都是由像素组成的,每个像素由RGB组成,共24位,大小比如:1024×768×24约等于70M,视频和图片编码基于以下的特点,像素间的空间冗余,可以计算出来,视频序列播放间的时间冗余,视觉冗余,视觉不敏感,可以丢失一些数据,编码冗余,出现概率高的像素用的字节码少,低的用的字节码多,霍夫曼编码。4 视频如何压缩成图片的 视频序列将帧分为3种 I帧又叫关键帧,B帧又叫双向预测内插压缩帧,P帧单向预测内插编码帧,P帧要依赖前一个I帧,存的是和前一个I帧的差异,B帧依赖前后帧,压缩率更高,解码需要缓存之前的画面,还需要之后的画面,叠加得到最终画面。帧分成多个片,片分成多个宏块,宏块分成多个子块,传输,要转成二进制,网络提取层单元,NALU,网络提取层单元,传输的时候拆成一个个的单元,一个NALU由起始标识符,标识NALU的间隔,NALU header,主要包含NALU type,包括SPS,PPS或者帧类型,NALU payload,如果是SPS,则是图片尺寸,视频格式,如果是PPS,图像分片的信息,如图像类型,序列号,如果是帧,payload包含真正的图像数据。5如何将视频打包传输到对端 推流基于RTMP协议,是基于TCP协议,tcp建立以后要创建一个RTMP连接,建立这个连接是为了处理单独的事情,版本号和时间戳,如果客户端和服务端版本号不一致,直接断开连接。客户端发送C0,c1,c2,服务端发送s0,s1,s2,连接上以后,需要传输ckunk块大小和窗口大小,正式传输数据之前还需要创建流stream,通过这个流来推流。NALU需要放在message进行发送,message称为RTMP package包,message由message type,时间戳,stream id,payload和message body组成,message传输的时候拆成一个个的trunk,每个trunk有message id,接收到以后组装成message 6客户端先接收到解码参数,对NALU进行解码,交给播放器播放。
    展开
    
     3
  • yan华建
    2019-05-09
    思考题
    2.在线看视频之前,大家都是把电影下载下来看的,电影这么大,你知道如何快速下载吗?
      采用p2p的方式,
    
     3
  • 小白
    2018-07-28
    前面看得很顺,这篇开始就开始懵了,主要是没有做过相互的业务,老师,有什么方法来理解谢谢吗
    
     3
  • 吃鳄鱼的猫
    2018-06-23
    现在好像都是http-flv, rtmp和hls延迟太高
    
     3
  • July
    2018-08-22
    RTMP 沟通的版本号是指什么的版本号呢?

    作者回复: 对于版本号的定义:当前rtmp协议的版本号一致为“3”,0、1、2是旧版本号,已经弃用。

    
     2
  • 夏洛克的救赎
    2018-06-22
    老师 是不是忘记说视频混流了🙃

    作者回复: 没说音频

    
     2
  • zKerry
    2019-09-04
    写的很好,看了之后,不敢说对流媒体入门,但至少有点方向

    作者回复: 有方向就好,通过一节入门还是有难度的

    
     1
  • jztong
    2019-05-08
    老师,每个NALU是一片吗?不应该是几个宏块或者子块吗?

    作者回复: 宏块和子块构成payload,由NALU传输

    
     1
  • 新征程
    2018-10-09
    rtmp与dash hls. dash与mp4这些是啥关系
    
     1
  • Malcolm
    2018-09-11
    感谢老师!讲的很透彻!
    
     1
  • byte
    2018-07-06
    希望补充在线视频网站的使用协议以及音频的协议。
    
     1
  • orangleliu
    2018-07-04
    1 tcp拥塞控制 优化的话 quic kcp这种基于udp的协议

    2 p2p 网络 bt或者电驴这种
    
     1
  • Hulk
    2018-07-01
    讲解清晰,大赞
    
     1
我们在线,来聊聊吧