概况
视频的整个流程主要分为推流和拉流
摄像头场景:
摄像头捕捉视频画面,推流到服务器,服务器分发到CDN,
客户端从CDN地址拉流,客户端进行播放
直播场景:
主播通过手机,电脑等客户端,捕捉视频画面,推流到服务器,服务器分发到CDN
客户端通过CDN地址拉流,客户端进行播放
大致流程如上,但是再细化一些:
推流:视频捕捉---传输---编码---存储
拉流:视频请求---传输---解码---播放
流程图
在网上找的这个流程图可能更为细致的能表达整个流程
其中RTMP是传输协议
HLS,FLV,RTMP也是拉流协议
HLS,FLV都是基于HTTP的协议,就是需要多次请求,请求后将得到的片数据进行整合
RTMP,RTSP不是基于HTTP,是基于tcp的长连接协议
这个图也是在网上找的,大部分都是赞同的,可能有部分的理解和自己理解不太一致。
采集时,视频数据,音频数据分开采集,分开编码。
然后将音频文件和视频文件合并成为:流媒体文件(FLV 格式,TS分片格式,rtmp 包)
播放时,整个的流程正好反过来
参考:
视频推流和视频拉流都涉及什么技术?
音视频流媒体-推流与拉流