目前几种视频流的简单对比: 协议 httpflv rtmp hls dash 传输方式 http流 tcp...
本文介绍另外一种结合了 RTMP 的低延时, 以及可以复用现有 HTTP 分发资源的流式协议 HTTP-FLV。...一、HTTP-FLV 简介 HTTP-FLV,即将音视频数据封装成 FLV,然后通过 HTTP 协议传输给客户端。 HLS 其实是一个 “文本协议” ,而并非流媒体协议,(ts0,ts1,…)。...1、市场上使用 http-flv 的商家 优酷的 pc 网页直播,斗鱼、 熊猫 tv、 虎牙 pc 网页上也使用了 http-flv 2、http-flv、rtmp 和 hls 直播的优缺点 三者的延迟性...http-flv:低延迟,内容延迟可以做到 2-5 秒; Rtmp:低延迟,内容延迟可以做到 2-5 秒。...三者的易用性 rtmp 和 http-flv:播放端安装率高。只要浏览器支持 FlashPlayer 就能非常简易的播放。
有用户反馈,EasyGBS登录后,无法播放HTTP-FLV流,请求我们协助排查。今天我们来分享一下排查与解决步骤。...1)查看版本信息,发现内核正常启动;2)查看log报错日志,发现播放也正常;3)查看web页面配置,发现用户选择了默认使用HTTP-FLV协议播放,但并没有开启HTTP-FLV协议;4)开启协议后,视频播放正常
相较于 RTMP 协议,HTTP-FLV 能够好的穿透防火墙,它是基于 HTTP/80 传输,有效避免被防火墙拦截。那么本篇的问题就来了,http-flv是如何直播的? ?...这里我们主要研究HTTP-FLV和HLS。主流的几个web直播平台几乎都是以HTTP-FLV为主来直播的,首先我们都知道在媒体格式里,几乎都以H264视频编码为主。...当然想要HTTP-FLV正常播放,不能缺少matedata,就是第一个脚本tag里面,这里面指定了分辨率,音视频编码格式等。...HTTP-FLV直播实际上单纯就是往客户端发送flvtag,当然是先发送flv前面那几个关键的tag,然后第一帧是关键帧。...至此,http-flv客户端就可以接收到flv流数据,解码观看直播了。 ?
随着移动互联网时代的到来,各大互联网厂商和流媒体协议组织涌现出丰富多彩各种各样的直播流媒体协议,其中比较出名的经典流媒体协议有RTMP/RTSP/HTTP-FLV/HTTP-HLS/WEBRTC等,协议简介如下...基于浏览器插件的老牌直播协议RTMP终于寿钟正寝,虽然各大CDN厂商还在坚持使用RTMP协议,但是也难逃被各大浏览器厂商淘汰的趋势和事实;RTSP主要应用于安防领域,而随之兴起流行的HTTP-FLV、HLS
”,“用什么播放器播HTTP-FLV”。...用HTTP-FLV还是HLS? 答案是: 看你的业务的延迟要求,2-5秒用HTTP-FLV,5-10秒用HLS。...用HTTP-FLV还是WebRTC? 答案是:HTTP-FLV。 WebRTC是做通信的,不是用来做直播。...答案是:RTMP、HTTP-FLV和HLS一起用。 最好的替代场景是这样的: PC浏览器,延迟有要求的用HTTP-FLV,延迟没要求的用HLS。...移动端Native,用RTMP或HTTP-FLV。 用什么播放器? 这个问题就比较简单了,根据协议可以选择播放器: HTTP-FLV,PC上用flv.js,移动端用Fijkplayer。
还是WebRTC”,“用什么播放器播HTTP-FLV”。...用HTTP-FLV还是HLS? 答案是: 看你的业务的延迟要求,2-5秒用HTTP-FLV,5-10秒用HLS。如果是替代RTMP,一般来说要用HTTP-FLV,因为RTMP延迟也是3秒左右。...用HTTP-FLV还是WebRTC? 答案是:HTTP-FLV。 WebRTC是做通信的,不是用来做直播。...答案是:RTMP、HTTP-FLV和HLS一起用。 最好的替代场景是这样的: PC浏览器,延迟有要求的用HTTP-FLV,延迟没要求的用HLS。 移动端浏览器,用HLS,兼容性比较好,几乎都支持。...移动端微信小程序,用RTMP,HTTP-FLV或HLS。 移动端Native,用RTMP或HTTP-FLV。
1.1 http-flv在Nginx中的实现 基于Nginx实现http-flv需要注意以下几点细节:首先该实现复用了Nginx的分发模型以及http功能模块。...http-flv播放实现 图中展示的是rtmp的缓存对于rtmp和http-flv这两个协议的支持。...http-flv回源的实现 图中展示的是http-flv回源在nginx中的实现。...http-flv回源实现的思路与http-flv的播放实现思路类似:即在需要回源的时候创建一个http client,http client所做的事情就是把http数据下载到本地。...这样按照http-flv播放中rtmp fake session的逻辑,也就能够快速的实现http-flv的回源操作。
对rtmp/http-flv/hls这三种协议不熟悉的同学,强烈建议先看看网友写的这篇文章科普下:理解RTMP、HttpFlv和HLS的正确姿势 。...stats { network 0; disk sda sdb xvda xvdb; } vhost __defaultVhost__ { # http-flv...h5播放http-flv 首先要感谢B站开源的flvjs,可以不依赖于flash player,纯js+html实现flv的播放。 <!
官方对比如下: 功能 nginx-http-flv-module nginx-rtmp-module 备注 HTTP-FLV (播放) √ x 支持 HTTPS-FLV 和 chunked 回复 GOP...wait_key 开启后无法工作 reuseport 支持 √ x 定时打印访问记录 √ x JSON 风格的 stat √ x stat 中包含录制详情 √ x 支持的播放器 VLC (RTMP & HTTP-FLV...) / OBS (RTMP & HTTP-FLV) / JW Player (RTMP) / flv.js (HTTP-FLV).
正着一遍反着一遍,车轱辘话来回说,别嫌我烦 这段我会说两遍,正着一遍反着一遍,车轱辘话来回说,别嫌我烦 这段我会说两遍,正着一遍反着一遍,车轱辘话来回说,别嫌我烦 直播传输协议 rtmp hls http-flv...如果说直播是一条海上航线,http-flv,rtmp,hls这三就是船。...一般主播端用rtmp进行推流,推到cdn以后,cdn支持观众用http-flv,hls,rtmp三种方式进行拉流,一般直播app用的是http-flv。...这些协议相当于载具,载的是什么呢,他们载的是包装是什么呢,rtmp,http-flv运载的是flv,hls运载的是m3u8与ts。...github.com/gwuhaolin/livego/tree/master/protocol 音频视频的容器的格式,注意是容器,注意是容器,注意是容器 flv ts 如果说直播是一条海上航线,http-flv
HTTP-FLv Http-Flv 就是 http+flv ,将音视频数据封装成FLV格式,然后通过 HTTP 协议传输给客户端。...理解Http-Flv协议,这就话就是关键 优缺点 HTTP-FLV 依靠 MIME 的特性,根据协议中的 Content-Type 来选择相应的程序去处理相应的内容,使得流媒体可以通过 HTTP 传输。...相较于 RTMP 协议,HTTP-FLV 能够好的穿透防火墙,它是基于 HTTP/80 传输,有效避免被防火墙拦截。...说了这么多优点,也来顺便说下 HTTP-FLV 的缺点,由于它的传输特性,会让流媒体资源缓存在本地客户端,在保密性方面不够好。因为网络流量较大,它也不适合做拉流协议。
由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCX...
HTTP-FLV: 基于HTTP流式IO传输FLV,依赖浏览器支持播放FLV。 WebSocket-FLV: 基于WebSocket传输FLV,依赖浏览器支持播放FLV。...20s 205M 3% 在支持浏览器的协议里,延迟排序是: RTMP = HTTP-FLV = WebSocket-FLV < HLS 而性能排序恰好相反: RTMP > HTTP-FLV = WebSocket-FLV...可以看出在浏览器里做直播,使用HTTP-FLV协议是不错的,性能优于RTMP+Flash,延迟可以做到和RTMP+Flash一样甚至更好。...兼容方案如下: PC端 优先使用 HTTP-FLV,因为它延迟小,性能也不差1080P都很流畅。 不支持 flv.js 就使用 Flash播放器播 RTMP 流。...不想用Flash兼容也可以用HLS,但是PC端只有Safari支持HLS 移动端 优先使用 HTTP-FLV,因为它延迟小,支持HTTP-FLV的设备性能运行 flv.js 足够了。
HTTP-FLV: 基于HTTP流式IO传输FLV,依赖浏览器支持播放FLV。 WebSocket-FLV: 基于WebSocket传输FLV,依赖浏览器支持播放FLV。...20s 205M 3% 在支持浏览器的协议里,延迟排序是: RTMP = HTTP-FLV = WebSocket-FLV < HLS 而性能排序恰好相反: RTMP > HTTP-FLV =...可以看出在浏览器里做直播,使用HTTP-FLV协议是不错的,性能优于RTMP+Flash,延迟可以做到和RTMP+Flash一样甚至更好。...兼容方案如下: PC端 优先使用 HTTP-FLV,因为它延迟小,性能也不差1080P都很流畅。 不支持 flv.js 就使用 Flash播放器播 RTMP 流。...不想用Flash兼容也可以用HLS,但是PC端只有Safari支持HLS移动端 优先使用 HTTP-FLV,因为它延迟小,支持HTTP-FLV的设备性能运行 flv.js 足够了。
可以发现抖音直播使用的是 HTTP-FLV 协议,其实不看也知道抖音使用的是 HTTP-FLV,因为国内直播平台全部都使用 HTTP-FLV!所以国内直播基础建设对 HTTP-FLV 支持比较好。...没啥优势,所以开始尽可能使用 HTTP-FLV。...整体播放流程 那么在 Web 中播放 HTTP-FLV 直播流的整体流程如下所示。 首先使用 fetch 去拉 flv 直播流。...总结 本篇文章讲解抖音直播的技术原理,它是使用 HTTP-FLV 来播放直播流,不光是抖音在使用 HTTP-FLV 直播方案,国内几乎所有的直播平台都在使用 HTTP-FLV 方案,所以看完这篇文章相当于了解了国内所有平台的直播技术直播原理...不过各个平台会在 HTTP-FLV 基础上加点自己的东西,例如斗鱼直播还使用了 P2P 技术来节省服务器流量。
而且MSE的Bug也不是HTTP-FLV协议封装的问题,同样用DASH或HLS也有。...如果需要支持iOS或Android,在直播领域FFmpeg同样是个更合适的选择,例如ijkplayer,可以播放RTMP或HTTP-FLV,是非常成熟的方案。...最后,关于直播的延迟,HTTP-FLV一样延迟也很低,大约1~3秒。想要做得更低么?要想好了,因为可能会引入其他问题,比如卡顿。 做直播是否500ms的延迟是刚需?是否它就比1~3秒延迟更好?...Conclusion 其实,WebRTC就不是为直播设计的,最合适的场景就是H5推流,其他情况请考虑普通的直播技术,比如RTMP、HLS、HTTP-FLV或SRT。
直播协议 国内常见公开的直播协议有几个:RTMP、HLS、HDL(HTTP-FLV)、RTP。 1)RTMP协议: 是Adobe的专利协议,现在大部分国外的CDN已不支持。...2)HTTP-FLV协议: 即使用HTTP协议流式的传输媒体内容。相对于RTMP,HTTP更简单和广为人知,而且不担心被Adobe的专利绑架。...所以从延迟角度来看,HTTP-FLV要优于RTMP。 3)HLS 协议: 即Http Live Streaming,是由苹果提出基于HTTP的流媒体传输协议。...总结一下:在直播协议的选择中,如果选择是RTMP或HTTP-FLV则意味着有2~5秒的内容延迟,但是就打开延迟开,HTTP-FLV 要优于RTMP。HLS则有5~7秒的内容延迟。...但就目前所了解,各大CDN厂商没有支持基于RTP直播的,所以目前国内主流还是RTMP或HTTP-FLV。
2、Flash Player播放器不再受支持,将影响rtmp或http-flv格式的直播流播放,而HLS由于协议本身限制,延迟很大,必然满足不了业务需要。...PC浏览器播放http-flv(不依赖Flash Player) 目前市面上大多数手机浏览器不支持 HTTP-FLV 播放,因此腾讯云建议您在 Web 播放时的协议选择最好是 PC 浏览器用 HTTP-FLV
领取专属 10元无门槛券
手把手带您无忧上云