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

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

    本文将深入探讨如何基于FLV相关规范,在Android平台上实现一个HTTP-FLV播放器,从理论基础到实践代码,全方位剖析实现过程中的关键要点与技术细节。 DataOffset(4字节):指示数据区相对于文件头的偏移量,通常为9(文件头长度)。 2. 四、Android端实现HTTP-FLV播放器1. 六、总结通过深入理解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详解及分析

    而当播放器拿到这些数据包解包的时候能够根据时间戳信息把这些音视频数据和之前到达的音视频数据连续起来播放。 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播放器等)进行解析和播放。 总体上看,FLV 包括文件头(File Header:9 字节)和文件体(File Body)两部分,其中文件体由一系列的 Tag 及 Tag Size 对组成。

    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开源服务器

    为什么说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秒。 9.WebRTC技术栈还不稳定,各种新玩意儿自己都绕晕了吧,WebTransport还没唱完,来个WebCodec,还有WASM。

    3.4K31编辑于 2022-04-15
  • 来自专栏四楼没电梯

    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 是否适合你

    2K10编辑于 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在线播放器

    2K20编辑于 2026-01-11
  • 来自专栏视频流媒体

    LiveNVR流媒体Onvif/RTSP/SDK拉转如何和获取通道的视频直播流地址RTSP/WebRTC/RTMP/HLS/HTTP-FLV/WS-FLV

    LiveNVR Onvif/RTSP流媒体服务,支持RTSP等其它流拉流接入,支持Onvif协议接入,支持RTMP/HLS/HTTP-FLV/WS-FLV/RTSP/GB28181输出,将传统安防监控设备互联化 可接入传统监控行业里面的高清网络摄像机的RTSP直播流,及 RTMP、HTTP-FLV、M3U8等其它直播流,实现互联网直播分发;可分发多种格式流,支持GB28181注册级联到第三方国标平台;同时能实时云端存储 ,如 iframe 方式集成页面视频流地址集成通过接口或其它方式获取视频流的地址,设置到web播放器|APP播放器|PC播放器中,进行播放。 可以使用LivePlayer.js H5播放器。 autoplay; fullscreen"></iframe>其中 URL 参数:channel 通道号aspect 配置只显示视频播放区域, 同时指定宽高比, 可选, wxh, 例如 640x360, 即16:9,

    1.5K30编辑于 2022-08-31
  • 来自专栏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
  • 来自专栏RTMP推送

    一文看懂 WebTransport、SRT、WebRTC、RTSP、RTMP、HTTP-FLV、WS-FLV、GB28181协议生态的时代分工与工程落地

    ❌❌SRT传输层Haivision SRT Protocol Spec❌❌WebRTC全栈实时交互框架IETF(ICE/DTLS/SRTP/RTP)+ W3C WebRTC部分(Opus/VP8/VP9/ ③ 媒体灵活性极高RTSP 可以传输: H.264 H.265 MJPEG AAC G.711 甚至 raw 视频格式 不像 WebRTC 只能传 VP8/VP9/H.264,灵活性远高于浏览器体系 7.1 FLV 的结构:Tag-based Media ContainerFLV 的核心是 Tag 流式封装结构: FLV Header(9 bytes) FLV Tag(Audio/Video/Script /SRTP/ICE)✔VP8/VP9/H.264极低人机交互(未实现)WebTransportQUIC❌自定义低Web 低延迟(未实现)10.2 大牛直播SDK当前协议生态的“系统定位”大牛SDK目前构建的是 趋势 5:轻量级自建服务将成为边缘计算时代的主流方式大牛直播SDK目前自带: HTTP-FLV Server WebSocket-FLV Server RTSP/GB28181 拉流模块 本地播放器

    2.1K50编辑于 2025-11-17
  • 来自专栏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).

    86030编辑于 2022-03-06
  • 来自专栏SRS开源服务器

    SRS6.0: 七年长跑,全面支持H.265

    此外,8K的朋友必须H.265,大约在9Mbps码率,而H.264得30Mbps而且最高分辨率无法支持8K。 •  补丁支持:使用FFmpeg拉HTTP-FLV流。 •  补丁支持:使用ffplay播放RTMP流。 •  补丁支持:使用ffplay播放HTTP-FLV流。 第三部分,浏览器H5播放流,MSE支持,但也需要上层播放器库支持: •  原生支持:使用Chrome播放HTTP-TS流,需要硬解支持,SRS使用mpegts.js。 H5播放器目前mpegts.js支持,hls.js和dash.js还没有支持。 在某些场景下,HEVC的应用完全成熟了,具体就需要各位开发者自己评估了。 最后,特别感谢mpegts.js,谦谦大神的H5播放器,支持了HTTP-FLV和HTTP-TS的H.265能力,这是flv.js的延续的项目,我觉得大家都欠他一个Star哇。

    3.8K40编辑于 2023-04-02
  • 来自专栏腾讯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.4K10编辑于 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
  • 来自专栏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
  • 来自专栏Qt项目实战

    Qt编写的项目作品9-RTSP播放器+视频监控(ffmpeg版本)

    二、效果图 [QQ截图20190423215340.png] 三、体验地址 体验地址:https://pan.baidu.com/s/1bbL2ZughZAgfIGrexyN-9g 提取码:zkeh 名称

    1.8K10发布于 2020-03-19
  • 来自专栏全栈前端精选

    如何开发一款 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
  • 来自专栏即时通讯技术

    视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

    9、视频直播传输协议2:HTTP-FLV HTTP-FLV协议,从名字上就可以明显看出是通过HTTP协议来传输FLV封装格式的一种协议。 这个时候就会遇到一个移动端播放器的老大难问题——同层播放。 同层播放问题:是指在移动端H5页面中,一些浏览器内核为了提升用户体验,将video标签被劫持替换为native播放器,导致其他元素无法覆盖于播放器之上。 比如我们想要在直播间播放器上方增加聊天窗口,将聊天窗口通过绝对定位提升z-index置于播放器上方,在PC中测试完全正常。 直播间海量聊天消息的架构设计难点实践 [6] 从0到1:万人在线的实时音视频直播技术实践分享(视频+PPT) [附件下载] [7] 实时视频编码H.264的特点与优势 [8] 视频编码H.264、VP8的前世今生 [9]

    6.4K43编辑于 2022-05-31
领券