首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    Android平台毫秒级低延迟HTTP-FLV直播播放器技术探究与实现

    本文将深入探讨如何基于FLV相关规范,在Android平台上实现一个HTTP-FLV播放器,从理论基础到实践代码,全方位剖析实现过程中的关键要点与技术细节。 四、Android端实现HTTP-FLV播放器1. ,可以看到,真的不输我们做的RTMP、RTSP直播播放器延迟! 六、总结通过深入理解FLV格式规范和HTTP-FLV传输原理,在Android平台上实现一个HTTP-FLV播放器涉及网络请求、数据解析、音视频解码渲染以及播放控制等多个方面的技术细节。 尽管随着技术的发展,FLV格式的应用场景有所局限,但在特定的业务需求下,掌握HTTP-FLV播放器的实现原理和方法,对于Android开发者来说,依然具有重要的实践价值和意义。

    1.3K10编辑于 2025-03-24
  • 来自专栏smy

    HTTP-FLV直播初探

    html5解封包播放(hls.js) 如果dash文件列表是mp4webm文件,可直接播放 RTMP(Real Time Messaging Protocol)是基于TCP的,由Adobe公司为Flash播放器和服务器之间音频

    8.6K80发布于 2018-04-03
  • 来自专栏Gnep's_Technology_Blog

    HTTP-FLV详解及分析

    而当播放器拿到这些数据包解包的时候能够根据时间戳信息把这些音视频数据和之前到达的音视频数据连续起来播放。 MP4、MKV 等等类似这种封装,必须拿到完整的音视频文件才能播放,因为里面的单个音视频数据块不带有时间戳信息,播放器不能将这些没有时间戳信息数据块连续起来,所以就不能实时的解码播放。 1、市场上使用 http-flv 的商家 优酷的 pc 网页直播,斗鱼、 熊猫 tv、 虎牙 pc 网页上也使用了 http-flv 2、http-flv、rtmp 和 hls 直播的优缺点 三者的延迟性 调度:RTMP 也有个 302,可惜是播放器 as 中支持的,HTTP FLV 流就支持 302 方便 CDN 纠正 DNS 的错误。 M3U8 文件可以通过 HTTP 服务器提供给客户端,并使用流媒体播放器(如VLC、HLS播放器等)进行解析和播放。

    3.3K41编辑于 2023-11-12
  • 来自专栏ghostsf

    没有Flash如何做直播?

    ”,“用什么播放器HTTP-FLV”。 其实很多播放器底层都是用的MSE,比如flv.js播放HTTP-FLV或者WebSocket-FLV,比如hls.js播放HLS,比如dash.js播放DASH切片。 用HTTP-FLV还是HLS? 答案是: 看你的业务的延迟要求,2-5秒用HTTP-FLV,5-10秒用HLS。 所谓延迟,就是推流和播放器的延迟,可以用OBS抓一个网页的秒表,然后播放器上观看,对比这两个时钟的差异,就是延迟了。 HLS是否就不能做3秒延迟呢? 移动端Native,用RTMP或HTTP-FLV。 用什么播放器? 这个问题就比较简单了,根据协议可以选择播放器HTTP-FLV,PC上用flv.js,移动端用Fijkplayer。

    2.1K20编辑于 2022-09-09
  • 来自专栏SRS开源服务器

    没有Flash如何做直播?

    还是WebRTC”,“用什么播放器HTTP-FLV”。 其实很多播放器底层都是用的MSE,比如flv.js播放HTTP-FLV或者WebSocket-FLV,比如hls.js播放HLS,比如dash.js播放DASH切片。 用HTTP-FLV还是HLS? 答案是: 看你的业务的延迟要求,2-5秒用HTTP-FLV,5-10秒用HLS。如果是替代RTMP,一般来说要用HTTP-FLV,因为RTMP延迟也是3秒左右。 所谓延迟,就是推流和播放器的延迟,可以用OBS抓一个网页的秒表,然后播放器上观看,对比这两个时钟的差异,就是延迟了。 HLS是否就不能做3秒延迟呢? 用什么播放器? 这个问题就比较简单了,根据协议可以选择播放器HTTP-FLV,PC上用flv.js,移动端用Fijkplayer。

    1.8K50编辑于 2022-03-18
  • 来自专栏四楼没电梯

    SRS(Simple Realtime Server) 开源直播/双录服务器

    核心特性: 支持主流直播协议:RTMP、HTTP-FLV、HLS、WebRTC、SRT、GB28181 ⚡ 支持亚秒级延迟:特别是 WebRTC 和 HTTP-FLV 模式下 跨平台编译:支持 Linux ,支持浏览器播放无需 Flash 视频监控转发 RTSP 拉流转 HTTP-FLV、WebRTC 支持拉流并转封装、输出为 HTTP-FLV / WebRTC 多端直播平台 RTMP 推流 + 多协议播放 | D[低延迟播放器] B -->|HLS| E[m3u8 播放器] B -->|SRT/RTMP Relay| F[边缘/转发服务] G[后端控制系统] -->|API调用| B ⚙️ 四 五、多协议推流与播放地址示例 协议 推流地址/播放地址 客户端支持 RTMP 推流 rtmp://<host>/live/stream OBS、FFmpeg RTMP 播放 同上 VLC、Flash 播放器 播放器 srs-player SRS 官方 WebRTC 播放测试工具 OBS Studio 主流开源推流软件,支持 RTMP ffmpeg 编解码、转码、多协议推流 ✅ 九、总结:SRS 是否适合你

    1.8K10编辑于 2025-07-11
  • 来自专栏TSINGSEE青犀视频

    流媒体播放器EasyPlayer.js无法播放H.265的情况是什么原因?该如何解决?

    H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV 、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流,并且已实现网页端实时录像、在iOS上实现低延时直播等功能。 有用户在集成TSINGSEE青犀easyplayer播放器时出现了不能播放H.265的情况,随后技术人员立即查看了用户的wasm文件放的位置,是正常在根目录下的;于是再进远程查看,发现webpck做了配置 目前我们TSINGSEE青犀视频所有的视频监控平台,集成的都是EasyPlayer.js版播放器,它属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,包括WebSocket-FLV 、HTTP-FLV,HLS(m3u8)、WebRTC等,支持全平台、全终端播放,如Windows、Linux、Android、iOS,支持H.264与H.265编码,无须安装任何插件,起播快、延迟低、兼容性强

    1K30编辑于 2023-09-28
  • 来自专栏多媒体工具

    使用B站开源的flv.js:实现网页无插件在线播放RTMP/FLV(含低延迟优化指南)

    flv.js:通过将FLV格式的视频数据转换为HTML5支持的MediaSourceExtensions(MSE)格式,实现在不使用Flash的情况下播RTMP/HLS/HTTP-FLV对比特性RTMP CORS:HTTP-FLV流服务器必须配置Access-Control-Allow-Origin,否则JavaScript无法读取流数据。 多格式支持:自适应RTMP和HTTP-FLV,支持多种设备。流媒体状态展示:实时动态展示链接状态、码率、分辨率、HTTP-FLV延迟等信息。 测试RTMP源地址是否正常工作总结flv.js不仅仅是一个播放器,它是现阶段B端监控、低延迟直播场景下的最优平衡点。 参考flv.jsFLV/RTMP在线播放器

    1.7K20编辑于 2026-01-11
  • 来自专栏EasyNVR

    集RTMP, HLS, FLV, WebSocket 于一身的网页直播点播播放器EasyPlayer.js引用videojs无法自动播放问题解决

    EasyPlayer几乎涵盖了开发者所需的全部平台,尤其是在web端的EasyPlayer.js时遇到的播放器接入的问题,比如:不懂前端的js代码、没有公网服务器放置这些js脚本和网页、微信对接入IP播放地址有限制等 EasyPlayer.js,极大地方便了开发者在解决B/S型业务开发,集 rtmp,hls,flv,websocket 于一身的网页直播/点播播放器。 实际上,采用video.js播放或者采用ckplayer、cyberplayer等播放器,在安防、流媒体、音视频领域,总会有一些局限,举个简单的例子,我们为了产品全平台、全终端的兼容,需要H5播放能同时支持 RTMP、HTTP、HLS、HTTP-FLV、websocket等多种协议,同时,在安防等工业场景,重连还是必须的,例如RTMP重连、HTTP-FLV直播的重连、HLS(m3u8)直播的重连,这就不得不让我们基于

    7.5K10发布于 2020-04-23
  • 来自专栏IT综合技术分享

    组件分享之后端组件——Nginx中流媒体服务器模块组件nginx-http-flv-module

    官方对比如下: 功能 nginx-http-flv-module nginx-rtmp-module 备注 HTTP-FLV (播放) √ x 支持 HTTPS-FLV 和 chunked 回复 GOP wait_video 或 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).

    85230编辑于 2022-03-06
  • 来自专栏腾讯IMWeb前端团队

    理论 | 使用flv.js做直播

    常见直播协议延迟与性能数据以下数据只做对比参考 传输协议 播放器 延迟 内存 CPU RTMP Flash 1s 430M 11% HTTP-FLV Video 1s 310M 4.4% HLS Video 20s 205M 3% 在支持浏览器的协议里,延迟排序是: RTMP = HTTP-FLV = WebSocket-FLV < HLS 而性能排序恰好相反: RTMP > HTTP-FLV = WebSocket-FLV 其中HTTP FLV需通过流式IO去拉取数据,支持流式IO的有fetch或者stream flv.min.js 文件大小 164Kb,gzip后 35.5Kb,flash播放器gzip后差不多也是这么大 兼容方案如下: PC端 优先使用 HTTP-FLV,因为它延迟小,性能也不差1080P都很流畅。 不支持 flv.js 就使用 Flash播放器播 RTMP 流。 不想用Flash兼容也可以用HLS,但是PC端只有Safari支持HLS 移动端 优先使用 HTTP-FLV,因为它延迟小,支持HTTP-FLV的设备性能运行 flv.js 足够了。

    4.3K10编辑于 2022-06-29
  • 来自专栏IMWeb前端团队

    使用flv.js做直播

    常见直播协议延迟与性能数据以下数据只做对比参考 传输协议 播放器 延迟 内存 CPU RTMP Flash 1s 430M 11% HTTP-FLV Video 1s 310M 4.4% HLS Video 20s 205M 3% 在支持浏览器的协议里,延迟排序是: RTMP = HTTP-FLV = WebSocket-FLV < HLS 而性能排序恰好相反: RTMP > HTTP-FLV = 其中HTTP FLV需通过流式IO去拉取数据,支持流式IO的有fetch或者stream flv.min.js 文件大小 164Kb,gzip后 35.5Kb,flash播放器gzip后差不多也是这么大 兼容方案如下: PC端 优先使用 HTTP-FLV,因为它延迟小,性能也不差1080P都很流畅。 不支持 flv.js 就使用 Flash播放器播 RTMP 流。 不想用Flash兼容也可以用HLS,但是PC端只有Safari支持HLS移动端 优先使用 HTTP-FLV,因为它延迟小,支持HTTP-FLV的设备性能运行 flv.js 足够了。

    14.3K105发布于 2017-12-29
  • 来自专栏SRS开源服务器

    为什么说WebRTC做直播,不是潮流而是大坑?

    About play stream 如果是从播放器角度来说,对于直播场景,MSE是比WebRTC成熟得多的技术,几乎目前所有直播平台都是用MSE在播放。 而且MSE的Bug也不是HTTP-FLV协议封装的问题,同样用DASH或HLS也有。 如果需要支持iOS或Android,在直播领域FFmpeg同样是个更合适的选择,例如ijkplayer,可以播放RTMP或HTTP-FLV,是非常成熟的方案。 所以如何选择播放器,完全取决于你的客户端,如果只有PC H5,那么WebRTC或MSE都行,当然WebRTC的服务器更复杂。 最后,关于直播的延迟,HTTP-FLV一样延迟也很低,大约1~3秒。 Conclusion 其实,WebRTC就不是为直播设计的,最合适的场景就是H5推流,其他情况请考虑普通的直播技术,比如RTMP、HLS、HTTP-FLV或SRT。

    3.4K31编辑于 2022-04-15
  • 来自专栏codeniu

    vue+flvjs实现自定义控制条的流媒体播放器

    vue+flvjs实现自定义控制条的流媒体播放器 flvjs与FLV有什么区别和联系? flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。由 bilibili 网站开源(Github)。 rtmp和http-flv的视频格式都是flv格式的,只是传输协议而不同。rtmp是tcp的传输协议,而http-flv是http长链接的传输协议。 总结 flvjs是一个H5播放器。 协议 http-flv rtmp hls 传输方式 http流 tcp流 http流 视频封装格式 flv flv Ts文件 延迟 低 低 高 数据分段 连续流 连续流 切片文件 h5播放 flv.js 5.传入src,一个简单的播放器就完成了。也可以在video标签中加入controls属性以利用H5播放器自带的控制条。 自定义控制条。 效果图,画面是ffmpeg推的一个mp4的流。

    5.7K31编辑于 2022-02-25
  • 来自专栏全栈前端精选

    如何开发一款 H5 小程序直播?

    4.视频验证 上面我们已经说了server工具提供三种协议的视频流,分别是rtmp,http-flv以及hls。 可以使用VLC播放器验证rtmp协议的视频流。 ? video.js可以支持hls也是因为插件是基于hls.js flv.js是B站开源的flv格式的播放器,如果是http-flv协议的直播用它是非常合适的。 HTTP-FLV flv.js是B站开源的一款flv播放器,可以说是国人的骄傲,同样使用起来非常简单。也是引入flv.js。 ? <! HTTP-FLV和RTMP都是长连接,传输的格式也都是flv,不同点在于他们和CDN的链接还有播放器的链接上,RTMP是TCP而HTTP-FLV是HTTP。 也可以使用我们上面自己开发的播放器访问。 http://localhost:8080/hls/stream.m3u8 http-flv的编译比较复杂,我们这里就不过多介绍了。

    4.4K20发布于 2021-01-14
  • 来自专栏TSINGSEE青犀视频

    流媒体播放器EasyPlayer.js播放H.265视频,无法截取快照是什么原因?

    TSINGSEE青犀视频的流媒体播放器EasyPlayer视频播放器,可支持H.264与H.265视频编码格式,性能稳定、播放流畅,还能支持RTSP、RTMP、HLS、FLV、WebRTC等视频流播放, 目前TSINGSEE青犀视频的所有视频监控平台均使用的是EasyPlayer.js播放器,也是最受用户及开发者欢迎的一款H5流媒体播放器。 解决方法:在该项目中找到播放器js,修改参数,如下:找到播放器的这两个文件,并修改判断length大小,可设定为106432即可。 EasyPlayer是我们流媒体组件系列中关注度较高的工具,经过多年的发展和迭代,目前已经有多个应用版本,包括RTSP版、RTMP版、Pro版,以及js版,其中js版本作为网页播放器,受到了用户的广泛使用 EasyPlayer.js可支持多种流媒体协议播放,包括WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC等,支持全平台、全终端播放,如Windows、Linux、Android

    60830编辑于 2023-09-12
  • 来自专栏EasyNVR

    关于EasyNVR视频广场通道不在线也不显示快照的问题排查

    EasyNVR流媒体服务支持RTSP稳定拉流接入,支持Onvif协议接入,支持RTMP/HLS/HTTP-FLV等视频流分发,将传统安防监控设备互联化,实现无插件直播。 有用户反馈在EasyNVR配置IPC通道后发现通道不在线,也不显示快照,如下图: 我们排查过很多类似问题,这里一开始要先排查流地址的配置有没有出错,用VLC播放器播流地址发现播放正常,说明RTSP地址是没问题的 EasyNVR平台播放器的问题,一般来说帧率越大,传输数据就越大,目前EasyNVR产品播放器无法支持高帧率高分辨率的数据传输,因此导致出现视频流拉上来却不能播放的情况。

    43610发布于 2021-11-04
  • 来自专栏TSINGSEE青犀视频

    H.265视频无插件流媒体播放器EasyPlayer.js播放webrtc断流重连的异常修复

    H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV 、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流,并且已实现网页端实时录像、在iOS上实现低延时直播等功能。 图片在排查过程中得知,在实际播放中因为网络问题,webrtc会出现链接断开的情况, 但是此时播放器并没有实现播放重连。 为解决该问题,我们在初始化rtc设置oniceconnectionstatechange监听,并反馈给EasyPlayer.js播放器。 图片播放器收到iceConnectionState === ‘disconnected’ 断开连接时,将会重新初始化播放器,这样就解决了断流不重连的问题,从而实现让视频正常播放。

    1K30编辑于 2023-08-23
  • 来自专栏EasyNVR

    EasyNVR播hls格式视频无法全屏自适应播放如何调节?

    当前使用EasyNVR版本为easynvr-linux-v5.0.0,播放显示如下: 经过排查,是引用的播放器的问题,发现播放器引入计算视频播放器高度引起的。 于是我们重新设置video标签播放器样式,设定如下: 设置播放器的宽高自适应父容器的高度,从而解决播放样式错误bug。 目前播放器版本已经提交到@easydarwin/easyplayer 4.0.4版本,已经修复了这个播放器无法自适应的问题,有兴趣的用户可以自行下载进行测试。 作为音视频行业互联网直播平台,EasyNVR主要功能在于通过RTSP/ONVIF协议,接入前端音视频采集设备,通过EasyNVR软硬件平台将拉取过来的音视频流转化给适合全平台播放的RTMP、HTTP-FLV

    1K20编辑于 2022-05-06
  • 来自专栏TSINGSEE青犀视频

    EasyNVR播hls格式视频无法全屏自适应播放如何调节?

    当前使用EasyNVR版本为easynvr-linux-v5.0.0,播放显示如下: image.png 经过排查,是引用的播放器的问题,发现播放器引入计算视频播放器高度引起的。 image.png 于是我们重新设置video标签播放器样式,设定如下: image.png 设置播放器的宽高自适应父容器的高度,从而解决播放样式错误bug。 目前播放器版本已经提交到@easydarwin/easyplayer 4.0.4版本,已经修复了这个播放器无法自适应的问题,有兴趣的用户可以自行下载进行测试。 作为音视频行业互联网直播平台,EasyNVR主要功能在于通过RTSP/ONVIF协议,接入前端音视频采集设备,通过EasyNVR软硬件平台将拉取过来的音视频流转化给适合全平台播放的RTMP、HTTP-FLV

    94220编辑于 2021-12-30
领券