流媒体-直播协议入门大纲

341 阅读2分钟

为什么要研究这个,这个是一个非常基础乃至关键的东西,类似于http之于web。做了一年多直播app觉得,如果想弄明白到底那些功能应该在哪一层实现,必须先把这一关过了。

一些应用

最近想了一些应用感觉无从下手,有些可能会产生一些新的协议类似直播p2p。 直播p2p 直播弹幕融合 直播加密 匿名直播 。。。。。

协议介绍

这段我会说两遍,正着一遍反着一遍,车轱辘话来回说,别嫌我烦 这段我会说两遍,正着一遍反着一遍,车轱辘话来回说,别嫌我烦 这段我会说两遍,正着一遍反着一遍,车轱辘话来回说,别嫌我烦

直播传输协议

rtmp hls http-flv 如果说直播是一条海上航线,http-flv,rtmp,hls这三就是船。flv与ts就相当于集装箱。 这三个协议是我从学习直播服务器搭建的时候就没弄明白。最近弄明白一点。一般主播端用rtmp进行推流,推到cdn以后,cdn支持观众用http-flv,hls,rtmp三种方式进行拉流,一般直播app用的是http-flv。这些协议相当于载具,载的是什么呢,他们载的是包装是什么呢,rtmp,http-flv运载的是flv,hls运载的是m3u8与ts。 https://github.com/gwuhaolin/livego/tree/master/protocol

音频视频的容器的格式,注意是容器,注意是容器,注意是容器

flv ts 如果说直播是一条海上航线,http-flv,rtmp,hls这三就是船。flv与ts就相当于集装箱。集装箱里面装的是什么h264,acc。flv协议里面分video和audio就是视频和音频。好多人介绍flv协议比ts好理解是真的文档长度不一样。 https://github.com/ListFranz/livego/tree/master/container

真正的音频视频的协议

h264 视频 acc 音频 mp3 音频 h264是播放的视频,acc是播放的声音的集合。 https://github.com/gwuhaolin/livego/tree/master/parser

视频是连续的画面还可以分解为图片

yuv 图片就是yuv,学opencv用过yuv,hlv,rgb的概念

参考 https://github.com/gwuhaolin/livego https://www.cnblogs.com/luconsole/p/6079534.html