首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏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直播初探

    目前几种视频流的简单对比: 协议 httpflv rtmp hls dash 传输方式 http流 tcp流 http http 视频封装格式 flv flv tag Ts文件 Mp4 3gp webm 低 低 高 高 数据分段 连续流 连续流 切片文件 切片文件 Html5播放 可通过html5解封包播放(flv.js) 不支持 可通过html5解封包播放(hls.js) 如果dash文件列表是mp4webm 文件,可直接播放 RTMP(Real Time Messaging Protocol)是基于TCP的,由Adobe公司为Flash播放器和服务器之间音频、视频传输开发的开放协议。 暂停后继续播放是接着暂停时的场景继续播,对于直播会产生延迟 =》 临时解决方案:暂停后继续播放时,手动销毁视频再重新加载播放 4.

    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:目前很成熟的技术,是js的解码器,把MP4格式的文件,送到MSE解码播放。 其实很多播放器底层都是用的MSE,比如flv.js播放HTTP-FLV或者WebSocket-FLV,比如hls.js播放HLS,比如dash.js播放DASH切片。 所谓延迟,就是推流和播放器的延迟,可以用OBS抓一个网页的秒表,然后播放器上观看,对比这两个时钟的差异,就是延迟了。 HLS是否就不能做3秒延迟呢? 移动端Native,用RTMP或HTTP-FLV。 用什么播放器? 这个问题就比较简单了,根据协议可以选择播放器HTTP-FLV,PC上用flv.js,移动端用Fijkplayer。

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

    没有Flash如何做直播?

    还是WebRTC”,“用什么播放器HTTP-FLV”。 本质上有两个技术: MSE:目前很成熟的技术,是js的解码器,把MP4格式的文件,送到MSE解码播放。 其实很多播放器底层都是用的MSE,比如flv.js播放HTTP-FLV或者WebSocket-FLV,比如hls.js播放HLS,比如dash.js播放DASH切片。 所谓延迟,就是推流和播放器的延迟,可以用OBS抓一个网页的秒表,然后播放器上观看,对比这两个时钟的差异,就是延迟了。 HLS是否就不能做3秒延迟呢? 用什么播放器? 这个问题就比较简单了,根据协议可以选择播放器HTTP-FLV,PC上用flv.js,移动端用Fijkplayer。

    1.8K50编辑于 2022-03-18
  • 来自专栏腾讯云音视频专家服务

    几招解决超级播放器Error Code:4

    前言 市面上播放器千千万,比如我们常见的有Video.js、hls.js、点播超级播放器等。 最近收到客户反馈,在接入使用Web超级播放器时,嵌入到对应页面时出现报错。接下来以腾讯云点播为例,来看下如何解决。 问题复现 Web超级播放器接入报错”Error Code:4”? 原因解析: 播放报错Error Code:4,所有的4都是视频因格式不支持或者服务器或网络的问题无法加载,一般有如下原因: 1、 视频格式不支持 播放器是依赖浏览器自身解码能力解析视频进行播放,如果上传的视频没有执行转码或本身视频文件的编码信息与当前播放环境不兼容 可能也会偶尔在tcplayer.js后加载,导致偶现报错code4. 4、获取不到资源 超级播放器是根据页面代码中appid和fileid发送请求给点播后台,后台根据对应的appid和fileid返回对应的视频信息 正确示例: 图片 5.png 小结: 关于Error Code:4播放异常的原因以上几点是线上复现概率最高的,今天就为大家分享这么多,其他Error Code码,且听下回分解。

    19.6K153发布于 2020-11-27
  • 来自专栏四楼没电梯

    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 ⚙️ 四 附录资料推荐 SRS 官方文档 SRS WebRTC 教程:https://ossrs.io/lts/zh-cn/docs/v4/doc/webrtc SRS 性能调优与压测方案:https://ossrs.io /lts/zh-cn/docs/v4/doc/benchmark

    2K10编辑于 2025-07-11
  • 来自专栏Dechin的专栏

    Ubuntu系统下的mp4播放器

    安装介绍 这里推荐一个Ubuntu 20.04下可用的本地视频播放器,VLC。可用直接打开本地视频,速度也不错,可用使用apt安装。

    1.4K10编辑于 2024-05-21
  • 来自专栏多媒体工具

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

    EZ在线工具网是一个以在线视频处理为核心的工具平台,提供包括M3U8在线播放、M3U8转MP4、RTMP/HLS流测试、FFmpeg在线转码等功能,全部可直接在浏览器中使用,无需安装客户端。 CORS:HTTP-FLV流服务器必须配置Access-Control-Allow-Origin,否则JavaScript无法读取流数据。 多格式支持:自适应RTMP和HTTP-FLV,支持多种设备。流媒体状态展示:实时动态展示链接状态、码率、分辨率、HTTP-FLV延迟等信息。 测试RTMP源地址是否正常工作总结flv.js不仅仅是一个播放器,它是现阶段B端监控、低延迟直播场景下的最优平衡点。 参考flv.jsFLV/RTMP在线播放器

    2K20编辑于 2026-01-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
  • 来自专栏Mac软件

    HQPlayer 4 Pro for mac(高品质mac无损播放器)

    HQPlayer 4 Pro for mac是一款高品质mac无损播放器,HQPlayer具有Delta-Sigma调制器、支持专业的ASIO驱动程序、64/80位浮点处理、用于均衡的可选择的卷积算法、 HQPlayer 4 Pro mac版HQPlayer 4 Pro win版HQPlayer 4 Pro软件功能支持的源格式CDDA(音频CD)FLACDSDIFF(DFF,未压缩)数码相机RIFF(WAV ,包括DXD / RF64)联合会RAW流实时音频输入支持的播放列表格式:M3U / M3U8PLS重采样过滤器13线相位2中间阶段最小8相3冲量最佳3封闭形式抖动和噪声消除器4个抖动4个噪声整形器Delta-Sigma

    1.7K20编辑于 2022-08-26
  • 来自专栏codeniu

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

    vue+flvjs实现自定义控制条的流媒体播放器 flvjs与FLV有什么区别和联系? 它的工作原理是将 FLV 文件流转码复用成 ISO BMFF(MP4 碎片)片段,然后通过 Media Source Extensions 将 MP4 片段喂进浏览器。 rtmp和http-flv的视频格式都是flv格式的,只是传输协议而不同。rtmp是tcp的传输协议,而http-flv是http长链接的传输协议。 总结 flvjs是一个H5播放器。 5.传入src,一个简单的播放器就完成了。也可以在video标签中加入controls属性以利用H5播放器自带的控制条。 自定义控制条。 效果图,画面是ffmpeg推的一个mp4的流。 同一页面中引入4个画面时,其他三个画面会报错。video标签的id一致导致的。 总结 本文通过实现一个自定义控制条的H5播放器,来学习相关的内容,包括:flvjs在vue中的使用。js的全屏API。

    5.7K31编辑于 2022-02-25
  • 来自专栏RTSP/RTMP直播相关

    4款知名播放器比较:ijkPlayer、VLC、SmartPlayer、ExoPlayer

    ijkPlayer ijkPlayer是BiliBili公司维护的一个开源工程,基于ffmpeg开发的一个播放器软件,支持Android和iOS平台,整个ijkplayer就是以ffplay为基础,如果只是使用它进行播放 MediaPlayer.Framework.MPMoviePlayerControlelr (obselete since iOS 8) VLC Media Player VLC 是一款自由、开源的跨平台多媒体播放器及框架 Plays all formats MPEG-1/2, DivX® (1/2/3/4/5/6), MPEG-4 ASP, XviD, 3ivX D4, H.261, H.263 / H.263i, H.264 3, DV, On2 VP3/VP5/VP6, Indeo Video v3 (IV32), Real Video (1/2/3/4). ExoPlayer ExoPlayer 是google推出的开源播放器,主要是集成了Android 提供的一套解码系统来解析视频和音频,将MediaCodec封装地非常完善,形成了一个性能优越,播放稳定性较好的一个开发播放器

    10.7K70发布于 2021-03-18
  • 来自专栏IMWeb前端团队

    使用flv.js做直播

    常见直播协议延迟与性能数据以下数据只做对比参考 传输协议 播放器 延迟 内存 CPU RTMP Flash 1s 430M 11% HTTP-FLV Video 1s 310M 4.4% HLS Video 其中HTTP FLV需通过流式IO去拉取数据,支持流式IO的有fetch或者stream flv.min.js 文件大小 164Kb,gzip后 35.5Kb,flash播放器gzip后差不多也是这么大 (HTML5 原生仅支持播放 mp4/webm 格式,不支持 FLV) flv.js 为什么要绕一圈,从服务器获取FLV再解码转换后再喂给Video标签呢? FLV容器格式相比于MP4格式更加简单,解析起来更快更方便。 flv.js兼容方案 由于目前flv.js兼容性还不是很好,要用在产品中必要要兼顾到不支持flv.js的浏览器。 兼容方案如下: PC端 优先使用 HTTP-FLV,因为它延迟小,性能也不差1080P都很流畅。 不支持 flv.js 就使用 Flash播放器播 RTMP 流。

    14.3K105发布于 2017-12-29
  • 来自专栏腾讯IMWeb前端团队

    理论 | 使用flv.js做直播

    常见直播协议延迟与性能数据以下数据只做对比参考 传输协议 播放器 延迟 内存 CPU RTMP Flash 1s 430M 11% HTTP-FLV Video 1s 310M 4.4% HLS Video 其中HTTP FLV需通过流式IO去拉取数据,支持流式IO的有fetch或者stream flv.min.js 文件大小 164Kb,gzip后 35.5Kb,flash播放器gzip后差不多也是这么大 (HTML5 原生仅支持播放 mp4/webm 格式,不支持 FLV) flv.js 为什么要绕一圈,从服务器获取FLV再解码转换后再喂给Video标签呢? FLV容器格式相比于MP4格式更加简单,解析起来更快更方便。 flv.js兼容方案 由于目前flv.js兼容性还不是很好,要用在产品中必要要兼顾到不支持flv.js的浏览器。 兼容方案如下: PC端 优先使用 HTTP-FLV,因为它延迟小,性能也不差1080P都很流畅。 不支持 flv.js 就使用 Flash播放器播 RTMP 流。

    4.4K10编辑于 2022-06-29
  • 来自专栏全栈前端精选

    如何开发一款 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
  • 来自专栏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秒。 4.移动端设备适配WebRTC有各种问题,特别是H5浏览器,Native会适配好点但为何不用完全没问题的FLV呢。

    3.4K31编辑于 2022-04-15
  • 来自专栏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
  • 来自专栏TSINGSEE青犀视频

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

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

    1.1K30编辑于 2023-08-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).

    86030编辑于 2022-03-06
领券