HTTP-FLV的两种方式
目前,有兩種Http-Flv的實現方式,一種是基于文件的方式,一種是基于包的方式
兩種Http-Flv的相同之處在于,都是HTTP方式輸出,都是FLv 格式
兩種Http-Flv的不同之處在于:
1、架構上,一個
? ? ?基于包的架構更偏實時,基于包,基于收到包,轉發包。
? ? ?基于文件的架構,邊寫文件,邊output給用戶數據。
2、存儲
? ? ? 基于包的架構,一般只使用內存,通常只緩存很少的數據,例如Gop-cache(當前數據幀到上一個IDR幀)
? ? ? 基于文件的架構,通常會使用到存儲,可以緩存7天乃至更多的數據,用來實現電視時移回看等應用。
后記:還有一種基于http flv文件的方式也屬于http-flv,但不叫hrrp-flv流式直播,可以叫http-flv切片直播。
? ? ? ? ? 另外,基于文件方式的HTTP-FLV流式直播補充以下內容:業界常見的另一種HTTP直播協議是將直播流式數據虛擬成為一個無限大的FLV(FLASH VIDEO)文件,并通過HTTP協議進行傳輸。客戶端僅發送一次HTTP GET請求,請求中攜帶需要訪問的直播流名,服務器返回HTTP響應,不攜帶消息體內容長度直接發送無限長FLV文件內容,或者使用HTTP CHUNK模式將無限長FLV文件按分段模式發送。客戶端獲得HTTP消息體中的FLV內容時即可播放。
例如請求直播流?http://flv.drag.test,.com/live/livestream.flv,?HTTP?交互如下:
請求:
GET/live/livestream.flv?wsHost=flv.drag.test, com?HTTP/1.1
accept:*/*
accept-encoding:gzip,
accept-language:zh_CN
connection:Keep-Alive
host:www.abc.com
referer:http: //www.abc.com/vplayer.swf
響應:
HTTP/1.1 2000K
Content-Type: video/χ-fIv
總結
以上是生活随笔為你收集整理的HTTP-FLV的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播未来属于RTMP还是HTTP?
- 下一篇: nginx模块定制开发中介入http模块