HTTP-FLV的两种方式
2016-04-07 18:56
141 查看
目前,有两种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的相同之处在于,都是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
相关文章推荐
- CGOS461 [网络流24题] 餐巾(最小费用最大流)
- android学习之网络连接2
- iOS开发网络篇—NSURLConnection基本使用
- http://coolshell.cn/articles/10910.html
- iOS 网络编程详解
- 396. [网络流24题]魔术球问题(简化版
- 利用HttpListener创建简单的HTTP服务
- 【codevs 2306】【bzoj 1877】[SDOI 2009]晨跑(费用流)
- iOS ASIHttpRequest 和 AFNetWorking 实时监测下载进度
- javaweb学习总结(四)——Http协议
- Linux网络编程入门 (转载)
- HTTP 1.1与HTTP 1.0的比较
- https authorization basic
- Linux网络编程必看书籍推荐
- HttpClient的超时用法小记
- 【bzoj 1458】士兵占领(最大流)
- 关于Xutils网络请求重试的问题
- TCP/NIO示例代码
- struts.xml不在默认位置,导致出现HTTP Status 404 - There is no Action mapped for namespace [/] and action name [
- 简单说说TCP(3) --- 断开连接四次握手