实现原理:FLV文件由一个文件头和若干个tag组成,当播放器通过http请求时,服务器通过返回body的length字段(-1)表达负载是不固定的,通过长连接指示这个请求一直保持连接,服务器源源不断读取文件并发给播放器,播放器进行播放
FLV官方文档地址:https://rtmp.veriskope.com/docs/
FLV文件的组成
FLV Header | FLV Body |
---|---|
“F” “L” “V” 各占一个字节 ,FLV版本号一字节,是否包含视频、音频标志一字节,Header Size占4字节,共9字节 | 若干各Previous Tag Size + Tag组成 |
FLV Body | |
---|---|
Previous Tag Size | Tag |
前一个Tag的大小,第一个为0 | 由Tag Header+Tag Data组成 |
Tag Header | Tag Data |
---|---|
Type:Tag 类型+DataSize:Data 大小+TimeStamp+TimeStamp_ex+StreamID |