注:本文转自https://blog.csdn.net/ahoustep/article/details/52175732

最近打算直播上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

直播http-flv原理相关推荐

  1. (转)【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文链接:https://www.jianshu.com/p/bd42bacbe4cc [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](原理篇) ...

  2. WebRTC → 深入分析各行业直播方案与原理

    1.前置知识 流式传输 所谓流媒体是指采用流式传输的方式传输在Internet播放的媒体格式: 流式传输的方式是将视频和音频等多媒体文件经过特殊的方式分成一个个的压缩包,由服务器向客户端连续.实时传输 ...

  3. 直播平台开发直播特效的原理与难点

    直播平台开发直播特效的原理与难点 在这个颜值即正义的时代,不论是通过 Web 还是移动端发起直播,美颜与特效已经是很多直播平台的标配功能.更有甚者,已经开始尝试将AR融入产品,增加更多可以吸引用户的体 ...

  4. QQ视频直播架构及原理

    作者:王宇(腾讯音视频高级架构师) 自我介绍下,毕业以来加入腾讯,一直从事客户端研发,身处互联网公司,踏着互联网的浪潮,一直在浪尖行走,从最早的PC QQ,到移动时代的手Q,再到腾讯物联的嵌入式,以及 ...

  5. iOS直播(流媒体)基础原理篇

    思维导图 常用的名词: 流媒体开发 网络层(socket或st):负责传输; 协议层(rtmp或hls):负责网络打包; 封装层(flv.ts):负责编解码数据的封装 编码层(h.264和aac):负 ...

  6. PCDN实现flash无延时直播的技术原理与优点

    摘要: PCDN是以P2P技术为基础,通过挖掘利用边缘网络海量碎片化闲置资源而构建的内容分发网络,它具有低成本.高品质的特点,十分适用于视频直播这一业务场景.针对直播中延时的情况,PCDN也进行了一系 ...

  7. PCDN实现flash无延时直播的技术原理与优点 1

    摘要: PCDN是以P2P技术为基础,通过挖掘利用边缘网络海量碎片化闲置资源而构建的内容分发网络,它具有低成本.高品质的特点,十分适用于视频直播这一业务场景.针对直播中延时的情况,PCDN也进行了一系 ...

  8. 【视频直播流】vue flv视频直播流 flv rtmp vue 直播视频流

    一.[rtmp视频流] 要点:主要是使用vue-video-player进行播放.要注意,这种播放方式需要flash播放器,遗憾的是很多浏览器已经不再支持flash播放器,如果是这样建议直接看下边第二 ...

  9. 直播电商源码,简述直播的实现原理

    现在直播非常火爆,可以从PC或手机直播,然后从PC或是手机或是 支持HTML5的浏览器 收看.但是,你知道直播电商源码后面的技术和实现原理码? 首先,视频有它的播放协议.原则上,RTSP,RTMP,H ...

  10. vue实现实时直播 摄像头实现实时直播 dplayer+flv flv.js

    安装dplayer npm install dplayer --save 安装flv.js npm install flv.js --save 在页面中引入dplayer index.html < ...

最新文章

  1. CSS各种选择符的优先级
  2. python 绝对路径找不到文件_python获取文件绝对路径解决找不到文件句柄的问题实例(readConfig.py)V1.2...
  3. keepalived安装及配置文件详解
  4. 【CSS】【7】CSS的盒子模型
  5. 设计模式(十一):享元模式
  6. 我去,这么简单的条件表达式竟然也有这么多坑
  7. SQL Server 2008数据库自动化安装步骤视频教程,批发零售软件
  8. foremost使用简介
  9. 如何在线免费对PDF文档进行解密
  10. “读芯术”精华文章汇总:专业知识
  11. 未来智安XDR及核心组件产品上榜《嘶吼2022网络安全产业图谱》
  12. 云南富宁港的建设之路
  13. 【Re-ID】现有方法调研 - 无监督/半监督方法 - 其他方法
  14. 线性回归基础相关公式
  15. 2.整理华子面经--2
  16. 使用ArcPy实现创建ags文件
  17. UBUNTU无ROOT权限解决“Could not resolve hostname XXXXX: Name or service not known“问题
  18. 六轴传感器基础知识学习:MPU6050特性,四元数,姿态解算,卡尔曼滤波
  19. 自己研发的核辐射探测仪——盖格计数器,探测装修材料,海淘的利器
  20. 易基因:鸡的chTERT靶基因DNA甲基化检测揭示ALV-J肿瘤发生机制|客户文章

热门文章

  1. 论文阅读:Dual Reader-Parser on Hybrid Textual and Tabular Evidence for Open Domain Question Answering
  2. 魔兽国服修改服务器地址,魔兽国服退役服务器上架暴雪官方商店
  3. 27款优秀的Android逆向工程工具
  4. JavaScript 登录注册表单验证
  5. 【1800题】一、函数、极限、连续
  6. 重磅 | 数据挖掘之父韩家炜:文本语料库的数据挖掘(附视频+PPT下载)
  7. GJB438C-2021规范详解其二
  8. 伍德里奇计量经济学导论之计算机操作题的R语言实现(虚拟变量)
  9. 银河麒麟linux找不到网卡,银河麒麟(Ubuntu)无法上网问题的解决方法
  10. 整理了70个Python实战项目列表,都有完整且详细的教程