HTTP-FLV的两种方式
目前,有兩種Http-Flv的實(shí)現(xiàn)方式,一種是基于文件的方式,一種是基于包的方式
兩種Http-Flv的相同之處在于,都是HTTP方式輸出,都是FLv 格式
兩種Http-Flv的不同之處在于:
1、架構(gòu)上,一個(gè)
? ? ?基于包的架構(gòu)更偏實(shí)時(shí),基于包,基于收到包,轉(zhuǎn)發(fā)包。
? ? ?基于文件的架構(gòu),邊寫文件,邊output給用戶數(shù)據(jù)。
2、存儲
? ? ? 基于包的架構(gòu),一般只使用內(nèi)存,通常只緩存很少的數(shù)據(jù),例如Gop-cache(當(dāng)前數(shù)據(jù)幀到上一個(gè)IDR幀)
? ? ? 基于文件的架構(gòu),通常會使用到存儲,可以緩存7天乃至更多的數(shù)據(jù),用來實(shí)現(xiàn)電視時(shí)移回看等應(yīng)用。
后記:還有一種基于http flv文件的方式也屬于http-flv,但不叫hrrp-flv流式直播,可以叫http-flv切片直播。
? ? ? ? ? 另外,基于文件方式的HTTP-FLV流式直播補(bǔ)充以下內(nèi)容:業(yè)界常見的另一種HTTP直播協(xié)議是將直播流式數(shù)據(jù)虛擬成為一個(gè)無限大的FLV(FLASH VIDEO)文件,并通過HTTP協(xié)議進(jìn)行傳輸。客戶端僅發(fā)送一次HTTP GET請求,請求中攜帶需要訪問的直播流名,服務(wù)器返回HTTP響應(yīng),不攜帶消息體內(nèi)容長度直接發(fā)送無限長FLV文件內(nèi)容,或者使用HTTP CHUNK模式將無限長FLV文件按分段模式發(fā)送。客戶端獲得HTTP消息體中的FLV內(nèi)容時(shí)即可播放。
例如請求直播流?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
響應(yīng):
HTTP/1.1 2000K
Content-Type: video/χ-fIv
總結(jié)
以上是生活随笔為你收集整理的HTTP-FLV的两种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播未来属于RTMP还是HTTP?
- 下一篇: nginx模块定制开发中介入http模块