直播http-flv小调研

1 篇文章 0 订阅
1 篇文章 0 订阅

最近打算直播上http-flv,之前用的是rtmp和hls。为什么使用http-flv,它有什么优缺点?

怎么让流媒体服务器支持flv直播?

一、市场上哪家直播使用了http-flv:


通过抓包分析: 优酷的pc网页直播使用了http-flv。
   
斗鱼、熊猫tv、虎牙pc网页上的也使用了http-flv。

二、http-flv、rtmp和hls直播的优缺点:


A、三者的延迟性:
http-flv:低延迟,内容延迟可以做到2-5秒。
Rtmp:低延迟,内容延迟可以做到2-5秒。
Hls::延迟较高。

B、三者的易用性:
rtmp和http-flv:播放端安装率高。只要浏览器支持FlashPlayer就能非常简易的播放。

hls:最大的优点:HTML5可以直接打开播放;这个意味着可以把一个直播链接通过微信
等转发分享,不需要安装任何独立的APP,有浏览器即可。

C、rtmp和http-flv比较:
(1) 穿墙:很多防火墙会墙掉RTMP,但是不会墙HTTP,因此HTTP FLV出现奇怪问题的概率很小。
(2) 调度:RTMP也有个302,可惜是播放器as中支持的,HTTP FLV流就支持302方便CDN纠正DNS的错误。
(3) 容错:SRS的HTTP FLV回源时可以回多个,和RTMP一样,可以支持多级热备。
(4) 简单:FLV是最简单的流媒体封装,HTTP是最广泛的协议,这两个组合在一起维护性更高,比RTMP简单多了。

三、http-flv技术实现:


HTTP协议中有个约定:content-length字段,http的body部分的长度
服务器回复http请求的时候如果有这个字段,客户端就接收这个长度的数据然后就认为数据传输完成了,
如果服务器回复http请求中没有这个字段,客户端就一直接收数据,直到服务器跟客户端的socket连接断开。

http-flv直播就是利用第二个原理,服务器回复客户端请求的时候不加content-length字段,在回复了http
内容之后,紧接着发送flv数据,客户端就一直接收数据了。
    

四、使用和测试http-flv:


使用开源的SRS服务器,SRS2.0版本是开源,后续的版本已经闭源。
   
推流端以rtmp的形式推流到srs服务器,srs再把rtmp流转换成http-flv流。

请求SRS返回的是:
 HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Type: video/x-flv
Server: SRS/2.0.205
Transfer-Encoding: chunked

请求某个电视台http://fms.cntv.lxdns.com/live/flv/channel2.flv,返回的是:
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: video/x-flv
Expires: -1

Pragma: no-cache


欢迎转载,转载请注明出处: http://blog.csdn.net/ahoustep


  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
nginx-1.19.3-http-flv是一种基于Nginx服务器的HTTP-FLV流媒体协议模块。HTTP-FLV指的是基于HTTP协议传输的FLV格式视频流。下面是对nginx-1.19.3-http-flv的简要说明: Nginx是一个轻量级的高性能Web服务器,常用于反向代理、负载均衡和HTTP缓存等。而nginx-1.19.3-http-flv是基于Nginx的一个开源模块,用于支持HTTP-FLV流媒体协议。 HTTP-FLV是一种用于在Web上通过HTTP协议传输的流媒体协议。它的特点是可以通过HTTP协议直接发送FLV格式的音视频数据流到客户端,而无需使用RTMP等专有协议。这使得HTTP-FLV在Web端播放视频时非常方便,并且能够兼容现有的HTTP基础设施,如CDN、防火墙等。 Nginx的http-flv模块允许将FLV格式的音视频文件转为HTTP-FLV流,通过HTTP协议传输到客户端。它可以作为一个流媒体服务器,接收FLV数据流的输入,并通过HTTP-FLV的方式将数据流分发给客户端。 Nginx提供了高性能的数据传输和处理能力,能够有效地处理大量的并发请求。通过使用nginx-1.19.3-http-flv模块,可以方便地搭建一个高性能的HTTP-FLV流媒体服务器,实现优质的视频传输和播放体验。 使用nginx-1.19.3-http-flv模块,可以在Web端实现基于FLV格式的实时音视频传输和播放。这对于直播、互动视频和在线教育等领域非常有用。同时,nginx-1.19.3-http-flv也可以与其他模块(如HLS模块、RTMP模块)配合使用,实现更丰富的流媒体服务。总之,nginx-1.19.3-http-flv提供了一种高效、稳定和灵活的流媒体解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值