首页/新闻资讯/正文详情

新手搞懂 HLS 的 DVR 回看,直播时移常见踩坑

发布时间:2026/9/24 9:20:44 来源:云帆数科 栏目:资讯中心
新手搞懂 HLS 的 DVR 回看,直播时移常见踩坑
一、什么是直播 DVR 时移回看很多监控直播、网课直播产品有回看功能也就是 DVR 时移。通俗讲直播正在播出用户可以拖动进度条回看几分钟、几十分钟之前已经播过的历史画面。点播视频全部分片提前生成好而直播 DVR 是在直播运行过程中服务器保留最近一段时间的历史 TS 分片M3U8 清单里面带上历史分片播放器就可以往回拖动。很多新手会把 DVR 直播和点播搞混。DVR 本质依旧是直播流M3U8 没有#EXT‑X‑ENDLIST结束标记只是服务器多保存了一部分旧分片回看窗口有时间上限不能无限往前面拖动。比如业务配置保留 30 分钟回看用户最多只能回看过去 30 分钟更早的分片服务器已经删除。实际开发测试经常遇到问题直播实时画面播放正常但是拖动回看就黑屏、花屏、报错。很多测试只看实时直播画面从来不测试拖动回看上线之后才收到用户反馈。遇到 DVR 回看类问题我会使用 m3u8live.cn 网页调试工具加载直播 M3U8尝试拖动进度条做回看操作快速确认回看功能是否正常。二、DVR 回看高频踩坑现象坑 1hls_list_size 设置过小回看窗口很短hls_list_size 控制 M3U8 清单保存分片的数量。分片数量少能回看的时间就短。业务需要 30 分钟回看但是分片数量设置太少只能回看几分钟。很多新手只关心实时直播流畅忽略这个参数会影响回看时长。坑 2推流断连重连缺少 #EXT‑X‑DISCONTINUITY 标记直播中间推流断开再恢复服务器没有写入不连续标记。往回拖动到断流的时间段播放器时间基准错乱出现花屏、音画不同步。坑 3DVR 回看窗口配置过大为了能看很久的历史把 hls_list_size 设置巨大。M3U8 索引文本体积暴涨每次播放器下载 M3U8 要下载大量文本增加请求耗时起播变慢服务器 CPU、内存压力上涨。回看不是越大越好按照产品需求设置合理窗口。坑 4前端播放器不做限制用户无限制往前拖拽服务端只保留 30 分钟历史分片但是前端进度条没有做时间限制用户拖到 30 分钟之前请求已经被删除的旧分片返回 404直接黑屏。坑 5CDN 缓存干扰 DVR M3U8 清单直播 DVR 的 M3U8 是动态不停变化的清单如果给 M3U8 设置较长 Cache‑Control 缓存浏览器拿到老旧清单回看分片不全拖动失败。三、DVR 回看简单排查步骤第一步把直播 M3U8 放到网页调试工具先确认实时直播画面正常再尝试拖动进度条往回看。如果工具拖动回看就黑屏花屏优先排查切片服务 hls_list_size、推流重连标记如果工具回看正常业务页面异常排查前端播放器是否做了进度条时间限制、hls.js 配置。第二步查看原始 M3U8 文本观察分片数量推流断开重连的位置有没有#EXT‑X‑DISCONTINUITY标记。第三步确认 M3U8 动态清单 Cache‑Control不能设置长缓存。四、业务开发测试建议hls_list_size 根据产品需要的回看时长计算不要过小也不要盲目设置超大。推流中断恢复切片服务务必输出不连续标记防止回看花屏。前端进度条要做时间范围限制不让用户拖动超出服务端保留的回看窗口避免请求过期分片 404。直播 DVR 的 M3U8 动态清单max‑age 设置很短禁止长缓存。测试直播不能只看实时画面一定要增加拖动回看的测试用例。五、总结DVR 时移回看是直播业务很实用的能力但它并不是点播回看窗口受服务器保存分片数量限制。hls_list_size、断流标记、CDN 缓存、前端进度限制任何一环出错拖动回看就会黑屏花屏。很多测试只测实时直播漏掉回看场景。借助网页调试工具做拖动回看测试可以提前发现 DVR 相关隐患上线少出问题。

相关推荐

了解STM32最小系统核心板
了解STM32最小系统核心板

STM32F103C8T6 多端口流水灯实验报告 STM32F103C8T6 多端口流水灯实验报告 博客发布 / 学习通提交 Markdown,可直接导出 PDF;配套代码、git 操作说明,完整满足作业要求 芯片:STM32F103C8T6(Blue Pill 蓝板最小系统&… · 2026/9/24 9:20:31

RedwoodJS 官方教程开篇导读:从零构建一个数据库驱动的全栈博客应用
RedwoodJS 官方教程开篇导读:从零构建一个数据库驱动的全栈博客应用

后端前端Web框架开发工具 【免费下载链接】redwood RedwoodGraphQL 项目地址: https://gitcode.com/gh_mirrors/re/redwood 点击查看 免费下载 这篇导读基于 Redwood 仓库中 version-4.x 的教程前言 展开。RedwoodJS 是一个"有主见"(opiniona… · 2026/9/24 9:19:35

高通9008救砖实操:QFIL从驱动安装到分区刷写全流程
高通9008救砖实操:QFIL从驱动安装到分区刷写全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 9:19:29

工业监控界面搭建实战:用2D组态平台快速搞定数据绑定与画面交付
工业监控界面搭建实战:用2D组态平台快速搞定数据绑定与画面交付

接到一个空压站集中监控的项目时,甲方只丢过来一张工艺流程图和一份Excel点位表,交货周期压到一周。第一次接触智捷云2D组态工具,说实话我心里也没底,毕竟之前也经历过从零手写前端做工业监控界面的痛苦——项目拖了两个月&#x… · 2026/9/24 19:54:34

OpenCut开源剪辑工具实测:免费无水印+AI剪片,替代剪映?
OpenCut开源剪辑工具实测:免费无水印+AI剪片,替代剪映?

视频剪辑这件事,过去几年一直被几款商业软件牢牢把持着。想剪个片子,要么忍受导出时硕大的水印,要么就得为几个基础功能掏订阅费。我身边不少做自媒体的朋友,每个月在剪辑工具上的开销加起来够吃好几顿火锅了。直到最近&#xff0… · 2026/9/24 19:54:34

Python实现MinHash海量文本去重:从原理到代码实战
Python实现MinHash海量文本去重:从原理到代码实战

做爬虫采集、新闻聚合或者语料库清洗的朋友,大概率都遇到过同一个问题:抓下来的文本重复率能到30%甚至更高。同一篇新闻被不同网站转载,改个标题、换一下首段、插入几条广告,内容主体几乎一模一样。这个时候拿MD5做精确去重根本没… · 2026/9/24 19:54:34

麒麟V10 ARM部署K8S 1.26.15:外部etcd与containerd实战
麒麟V10 ARM部署K8S 1.26.15:外部etcd与containerd实战

简介:这份资源面向需要在国产化信创环境中落地容器编排的运维与云原生工程师,聚焦Kylin V10操作系统搭配ARM架构服务器、采用外部etcd与containerd运行时部署Kubernetes 1.26.15一主多从集群的完整离线安装包。压缩包共41个文件,约645.74MB&a… · 2026/9/24 19:54:34

Claude Code深度解析:AI编程代理如何重塑终端工作流
Claude Code深度解析:AI编程代理如何重塑终端工作流

1. 先聊清楚:Claude Code 到底是什么,以及它凭什么值得关注我第一次注意到Claude Code这个关键词,是在一个技术社群里。有人贴了一段终端截图,里面是一个交互式命令行界面,AI 在逐行分析和修改代码,评论区全… · 2026/9/24 19:54:34

数据库课程设计入门:从四张空表理解表结构与约束设计
数据库课程设计入门:从四张空表理解表结构与约束设计

刚接手数据库课程设计时,任务书写得很简短:SchoolDB数据库,设计四张表,无数据。说实话,第一次看到“无数据”三个字,很多人是愣住的——不让我填数据,那我交什么?后来我才明白&#… · 2026/9/24 19:54:26

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码