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

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

    DataOffset(4字节):指示数据区相对于文件头的偏移量,通常为9(文件头长度)。 2. 4. 音视频解码与渲染在Android平台上,可以利用MediaCodec类进行音视频的硬件加速解码。 以大牛直播SDK的Windows平台采集桌面毫秒计时器窗口,编码打包推送RTMP到流媒体服务器,流媒体服务器出http-flv的流,大牛直播SDK的SmartPlayer从流媒体服务器拉流,整体延迟如下 ,可以看到,真的不输我们做的RTMP、RTSP直播播放器延迟! 好多开发者可能会好奇,为什么我们的延迟这么低?

    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延迟1s左右,HTTPFLV延迟1-2s左右,可用于对延迟要求比较苛刻的场景,但要注意兼容性,文章最后会说明HTTPFLV兼容性。 ---- HTTP FLV直播Demo: <! 暂停后继续播放是接着暂停时的场景继续播,对于直播会产生延迟 =》 临时解决方案:暂停后继续播放时,手动销毁视频再重新加载播放 4.

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

    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 秒。 Hls:延迟较高(ts0,segment-time:5,10s)。 三者的易用性 rtmp 和 http-flv:播放端安装率高。只要浏览器支持 FlashPlayer 就能非常简易的播放。 -i SampleVideo_1280x720_20mb.mp4:指定输入文件名为 SampleVideo_1280x720_20mb.mp4

    3.3K41编辑于 2023-11-12
  • 来自专栏散尽浮华

    mysql主从同步(4)-Slave延迟状态监控

    之前部署了mysql主从同步环境(Mysql主从同步(1)-主从/主主环境部署梳理),针对主从同步过程中slave延迟状态的监控梳理如下: 在mysql日常维护工作中,对于主从复制的监控主要体现在: 1 )检查数据是否一致;主从数据不同步时,参考下面两篇文档记录进行数据修复: mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理 利用mk-table-checksum 监测Mysql主从数据一致性操作记录 2)监控主从同步延迟,同步延迟的检查工作主要从下面两方面着手: 1.一般的做法就是根据Seconds_Behind_Master的值来判断slave的延迟状态。 2.上面根据Seconds_Behind_Master的值来判断slave的延迟状态,这么做在大部分情况下尚可接受,但其实是并不够准确的。 对于Slave延迟状态的监控,还应该做到下面的考虑: 首先,我们先看下slave的状态: mysql> show slave status\G; ***************************

    3K70发布于 2018-01-22
  • 来自专栏JavaEdge

    复制延迟案例(4)-一致前缀读

    夫人说的内容是从一个延迟很低的从节点读取,但先生所说的内容,从节点的延迟要大的多,如图-5,于是该观察者会听到: Mrs 通常约十秒钟,Mr Mr Mrs,你能看到多远未来?

    21730编辑于 2022-08-01
  • 来自专栏ghostsf

    没有Flash如何做直播?

    本质上有两个技术: MSE:目前很成熟的技术,是js的解码器,把MP4格式的文件,送到MSE解码播放。 用HTTP-FLV还是HLS? 答案是: 看你的业务的延迟要求,2-5秒用HTTP-FLV,5-10秒用HLS。 如果对延迟有一定的要求,那么就不合适,所以还不能这么武断的全部选择HLS。 用HTTP-FLV还是WebRTC? 答案是:HTTP-FLV。 WebRTC是做通信的,不是用来做直播。 现在云服务也开始推出WebRTC直播服务,当然是可以用的,问题是云服务也支持HTTP-FLV,为什么不选择更通用的方案?除非延迟要求非常低,比如1秒之内的延迟。 答案是:RTMP、HTTP-FLV和HLS一起用。 最好的替代场景是这样的: PC浏览器,延迟有要求的用HTTP-FLV延迟没要求的用HLS。

    2.1K20编辑于 2022-09-09
  • 来自专栏媒矿工厂

    别让延迟毁了你的长尾:dref MP4 缓存介绍

    但是一个缺点就是延迟,和一套本地SSD相比,一旦延迟开始累加,就会开始影响开机延迟。 接着展示了解决方案:在MP4内存储其索引。 值得注意的是一个dref MP4文件非常小,如果你看一个几个G的电影,dref MP4可能只有几十M。 这就是dref MP4的全部缓存设置,它能够降低长尾内容启动延时,提升整体效率。最后介绍了三个应用场景:碎片化的MP4即时转换为渐进式的MP4;即时内容合并;定时元数据的即时交织。 不幸的是,这种存储后端的延迟可能是不理想的,及时打包器需要向源内容发出相对较多的请求来动态打包。这将影响打包器的整体性能,以及客户在请求一个还没有缓存在CDN上的流(即长尾内容)时的启动延迟。 这个MP4不包含媒体数据,只是使用MP4的 "dref "框引用源内容。这个'dref MP4'确实包含的是原始轨道的索引信息(样本表),存储在'moov'框中。

    72750发布于 2021-03-25
  • 来自专栏SRS开源服务器

    没有Flash如何做直播?

    本质上有两个技术: MSE:目前很成熟的技术,是js的解码器,把MP4格式的文件,送到MSE解码播放。 用HTTP-FLV还是HLS? 答案是: 看你的业务的延迟要求,2-5秒用HTTP-FLV,5-10秒用HLS。如果是替代RTMP,一般来说要用HTTP-FLV,因为RTMP延迟也是3秒左右。 如果对延迟有一定的要求,那么就不合适,所以还不能这么武断的全部选择HLS。 用HTTP-FLV还是WebRTC? 答案是:HTTP-FLV。 WebRTC是做通信的,不是用来做直播。 现在云服务也开始推出WebRTC直播服务,当然是可以用的,问题是云服务也支持HTTP-FLV,为什么不选择更通用的方案?除非延迟要求非常低,比如1秒之内的延迟。 答案是:RTMP、HTTP-FLV和HLS一起用。 最好的替代场景是这样的: PC浏览器,延迟有要求的用HTTP-FLV延迟没要求的用HLS。 移动端浏览器,用HLS,兼容性比较好,几乎都支持。

    1.8K50编辑于 2022-03-18
  • 来自专栏海向

    RabbitMQ 延迟队列,消息延迟推送

    目录 应用场景 消息延迟推送的实现 测试结果 ---- 应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货。 消息延迟推送的实现 在 RabbitMQ 3.6.x 之前我们一般采用死信队列+TTL过期时间来实现延迟队列,我们这里不做过多介绍,可以参考之前文章来了解:TTL、死信队列 在 RabbitMQ 3.6 .x 开始,RabbitMQ 官方提供了延迟队列的插件,可以下载放置到 RabbitMQ 根目录下的 plugins 下。 延迟队列插件下载 ? 首先我们创建交换机和消息队列,application.properties 中配置与上一篇文章相同。 org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.

    2.7K10发布于 2019-09-23
  • 来自专栏玩转 Spring Cloud

    Rabbitmq 通过延迟插件实现延迟队列

    Rabbitmq 通过延迟插件实现延迟队列 文章目录 DLX+TTL 存在时序问题 安装延迟插件 下载地址 安装 Java 代码实现 DLX+TTL 存在时序问题 由于队列先入先出的特性 通过死信队列(DLX)和给每条消息设置过期时间(TTL)来实现延迟队列, 会存在时序问题. 可以通过给 Rabbitmq 安装延迟插件来实现延迟队列功能 安装延迟插件 下载地址 rabbitmq-delayed-message-exchange 插件可到这里下载: RabbitMQ 延迟插件 RabbitAdmin.class); TopicExchange exchange = new TopicExchange("exchange.delay"); // 交换器设置延迟属性 exchange.delay", type = ExchangeTypes.TOPIC, delayed = "true"), key = "rountingkey.delay")) @Slf4j

    1.7K20编辑于 2022-05-05
  • 来自专栏四楼没电梯

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

    核心特性: 支持主流直播协议:RTMP、HTTP-FLV、HLS、WebRTC、SRT、GB28181 ⚡ 支持亚秒级延迟:特别是 WebRTC 和 HTTP-FLV 模式下 跨平台编译:支持 Linux 、浏览器直接播放 WebRTC / HTTP-FLV,支持浏览器播放无需 Flash 视频监控转发 RTSP 拉流转 HTTP-FLV、WebRTC 支持拉流并转封装、输出为 HTTP-FLV / WebRTC 考察维度 SRS 支持情况 多协议兼容 ✅ 全面支持 RTMP / HLS / WebRTC 等 低延迟性能 ✅ WebRTC/FLV 延迟在 300ms 内 部署复杂度 单机简单,集群需配置较多 社区活跃度 附录资料推荐 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
  • 来自专栏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协议是不错的,性能优于RTMP+Flash,延迟可以做到和RTMP+Flash一样甚至更好。 (HTML5 原生仅支持播放 mp4/webm 格式,不支持 FLV) flv.js 为什么要绕一圈,从服务器获取FLV再解码转换后再喂给Video标签呢? 不想用Flash兼容也可以用HLS,但是PC端只有Safari支持HLS移动端 优先使用 HTTP-FLV,因为它延迟小,支持HTTP-FLV的设备性能运行 flv.js 足够了。

    14.3K105发布于 2017-12-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 = WebSocket-FLV 可以看出在浏览器里做直播,使用HTTP-FLV协议是不错的,性能优于RTMP+Flash,延迟可以做到和RTMP+Flash一样甚至更好。 (HTML5 原生仅支持播放 mp4/webm 格式,不支持 FLV) flv.js 为什么要绕一圈,从服务器获取FLV再解码转换后再喂给Video标签呢? 不想用Flash兼容也可以用HLS,但是PC端只有Safari支持HLS 移动端 优先使用 HTTP-FLV,因为它延迟小,支持HTTP-FLV的设备性能运行 flv.js 足够了。

    4.4K10编辑于 2022-06-29
  • 来自专栏java大数据

    事件延迟

    事件延迟 事件延迟(项目心得) 马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。

    1.4K20发布于 2020-12-23
  • 来自专栏linux驱动个人学习

    延迟绑定

    延迟绑定实现 在动态链接下,程序模块之间包含了大量的函数引用(全局变量往往比较少,因为大量的全局变量会导致模块之间耦合度变大),所以在程序开始执行前,动态链接会耗费不少时间用于解决模块之间的函数引用的符号查找以及重定位 所以ELF采用了一种叫做延迟绑定(Lazy Binding)的做法,基本的思想就是当函数第一次被用到时才进行绑定(符号査找、重定位等),如果没有用到则不进行绑定。 PLT为了实现延迟绑定,在这个过程中间又增加了一层间接跳转。调用函数并不直接通过GOT跳转,而是通过一个叫做PLT项的结构来进行跳转。 如果链接器在初始化阶段已经初始化该项,并且将bar()的地址填入该项,那么这个跳转指令的结果就是我们所期望的,跳转到bar(0,实现函数正确调用但是为了实现延迟绑定,链接器在初始化阶段并没有将bar() 实际上的PLT结构如下: PLT0: push *(GOT + 4) jump *(GOT + 8) .... bar@plt: jmp *(bar@GOT) push n jump PLT0 PLT在

    1.5K20发布于 2019-05-25
  • 来自专栏AI

    延迟优化

    4. 减少请求次数每次发出请求都会产生一定的往返延迟——这可能会逐渐累积起来。如果您有LLM要执行的连续步骤,而不是每个步骤都发出一个请求,请考虑将它们放在一个单独的提示中,并在单个响应中获取它们。 我们是否可以使用经过微调的 GPT-3.5 而不是 GPT-4?也许可以——但一般来说,助理的开放性响应最好由 GPT-4 处理,这样它可以更好地处理更广泛的情况。 我们是将其保留为完全由 GPT-4 生成的单个请求,还是将其拆分为两个顺序请求,并在除最终响应外全部使用 GPT-3.5? 助理提示 - 响应该提示将由 GPT-4 处理,并将接收到先前提示确定的推理步骤,以及检索结果。有何变化? 虽然对于 GPT-3.5 来说,这可能只会导致几毫秒的改善,但对于 GPT-4 来说,这可能会减少高达一秒的延迟。然而,您可以想象,对于更大的模型输出,这可能会产生相当大的影响。

    85110编辑于 2024-05-13
  • 来自专栏JavaEdge

    为什么kafka延迟比rocketmq延迟

    说kafka延迟比rocketmq延迟高 是有一个前提的 就是topic较多的时候 这个和这2个MQ的数据存储结构有关系的 在topic少的时候延迟基本一致。 它的数据结构如下 其中topic是逻辑概念,分区对应就是一个物理文件夹: 所以在topic比较多时,分区文件数量会非常庞大 磁盘顺序读效率还不如随机读效率,则会在topic比较多时 磁盘顺序读就蜕变为随机读,延迟也就高了 rockertmq 就诞生了 它的数据存储结构 对此做了优化 日志目录只有一个 commit log ,结构如下: 出发点不一样,kafka定位就是处理日志和大数据 在这些业务领域,topic不会太多,延迟问题自然也就没有 而rocketmq有pull、push两种模式 (虽然这个push模式是假push),push模式延迟肯定是比pull模式延迟低。 rabbit 的push模式 是真的push 所以 延迟最低的就是兔子。 兔子不支持分布式,只支持主从模式 本身设计就是小而美的单机版。cpu消耗比kafka之类低多了。

    1.5K30编辑于 2022-11-20
  • 来自专栏RTMP推送

    WHIP/WHEP 与 RTSP、RTMP、FLV 的全面技术对比:为何它们不会相互替代?

    4. RTSP / RTMP / HTTP-FLV / WS-FLV 的技术本质在理解 WHIP/WHEP 的定位后,我们来看看传统协议真正解决了什么。 RTSP、RTMP一样的100-200ms内延迟 4.4 WS-FLV:基于 WebSocket 的 FLV特点: 基于 WebSocket,全平台更友好 延迟HTTP-FLV 相当 场景: H5 5)支持 HTTP-FLV / WS-FLV 实时本地录制(MP4/FLV)许多行业需要“边看边录”,如: 安防与法庭记录 医疗手术录像 工业生产与质检留存 无人机巡检记录 交通违停/事件回放 (4)智慧医疗 手术室实时影像 远程教学可视化 医疗设备端的视频预览 医工系统的 Web 页面监控流 FLV 的优势是延迟低、成本低、设备兼容度高。 ✔ 4.

    86410编辑于 2025-11-17
  • 来自专栏全栈程序员必看

    rocketmq延迟队列原理_rocketmq延迟队列原理

    在java的延迟队列中,无法支持集群的延迟。 Redis可以做到对应的延迟功能,但是自己封装毕竟局限于业务。而且封装也需要耗费一定时间。 今天我们就讲一个现有的延迟队列,不仅支持分布式服务,而且解耦业务代码,而且支持不同延迟时间的造好的轮子吧。 ~ 那就是 RocketMQ 延时队列。 RocketMQ将延时队列的延时延时时间分为18个级别 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 分别对应下面的延迟时间,在使用时,直接传递 level messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 当然这个时间可以自己修改,如果不维护 则按照默认的 如果到了延迟时间,就发送消息 否则就继续进行延迟返送。 总结,RocketMQ的延迟消息,使用起来方便,而且解耦代码,但是配置的延迟时间不够灵活。

    2.6K20编辑于 2022-11-17
  • 来自专栏TSINGSEE青犀视频

    EasyGBS登录后,无法播放HTTP-FLV流是什么原因?

    有用户反馈,EasyGBS登录后,无法播放HTTP-FLV流,请求我们协助排查。今天我们来分享一下排查与解决步骤。 1)查看版本信息,发现内核正常启动;2)查看log报错日志,发现播放也正常;3)查看web页面配置,发现用户选择了默认使用HTTP-FLV协议播放,但并没有开启HTTP-FLV协议;4)开启协议后,视频播放正常

    37720编辑于 2023-06-21
领券