发布时间:2026/7/14 1:43:48
协议之HLS介绍 HLSHTTP Live Streaming苹果推出的基于 HTTP 的流媒体传输协议核心是把视频切分成小分片 m3u8 索引文件浏览器 / 播放器通过普通 HTTP 请求逐段下载播放无需专用流媒体端口RTMP 用 193580/443 端口通用防火墙、CDN 友好。其实就是音视频直接使用HTTP 进行传输这样天然的满足网元的传输。核心特点基于标准 HTTP穿透性强CDN 完美加速自适应码率多清晰度自动切换延迟偏高标准直播 10~30s低延迟 LL-HLS 可压到 2~5s原生支持Safari、iOS、Android、Chrome、VLC、Video.js、Flv.js封装视频 H.264/H.265音频 AAC分片容器 TS传统/fMP4LL-HLS一、两大核心技术1.1 m3u8 索引文件文本UTF-8后缀.m3u8播放器先拉取这个文件获取分片地址、时长、码率等配置。1.1.1 主索引Master m3u8多清晰度自适应包含多个不同分辨率 / 码率的子流地址播放器根据网速自动切换。 示例#EXTM3U#EXT-X-STREAM-INF:BANDWIDTH800000,RESOLUTION1280x720 720p.m3u8#EXT-X-STREAM-INF:BANDWIDTH400000,RESOLUTION960x540 540p.m3u8#EXT-X-STREAM-INF:BANDWIDTH200000,RESOLUTION640x360 360p.m3u8BANDWIDTH码率 bpsRESOLUTION分辨率1.1.2 分片索引Media m3u8存放 TS 分片列表记录每一段视频分片、单段时长、加密信息、直播序列。#EXTM3U#EXT-X-TARGETDURATION:10 // 单个分片最大时长10s#EXT-X-MEDIA-SEQUENCE:100 // 当前第一个分片序号#EXTINF:9.8, seg-100.ts#EXTINF:9.9, seg-101.ts#EXT-X-ENDLIST // 点播视频才有直播无此行关键标签#EXTINF分片实际时长秒#EXT-X-MEDIA-SEQUENCE直播滚动更新旧分片会被删除#EXT-X-KEY加密信息AES-128 加密 HLS#EXT-X-DISCONTINUITY分片编码切换标记关于m3u8文件的生成可以参考我在CNblog的博文HLSHTTP Live Streaming协议之m3u8文件生成方式 - mediastream - 博客园1.2. TS 分片文件Transport Stream传统 HLS 分片后缀.ts一般 2~10s 一段每片独立可解码不用依赖前后分片网络卡顿只卡当前片段LL-HLS 使用 fMP4碎片化 MP4分片延迟更低二、点播 HLS vs 直播 HLS2.1. VOD 点播m3u8 末尾带#EXT-X-ENDLIST所有分片固定不会新增、不会删除可完整下载整部视频2.2. Live 直播无#EXT-X-ENDLIST服务端持续追加新分片旧分片超时自动清理滑动窗口播放器循环定时重新请求 m3u8 获取最新片段天然存在缓冲延迟HLS的服务搭建可以参考我的博文基于nginx的HLS简单服务器搭建 - mediastream - 博客园三 常见工具与服务3.1推流 / 切片工具FFmpegffmpeg -i rtmp://input -c copy -hls_time 4 output.m3u8Nginx-RTMP-ModuleRTMP 转 HLS 直播SRS、MediaKit、Wowza、Nimble Streamer 流媒体服务器3.2 前端播放Video.js hls.jsChrome/PC 浏览器Safari 原生支持 m3u8无需插件Android ExoPlayer、iOS AVPlayer 原生支持3.3 下载工具ffmpeg、vlc、N_m3u8DL-REm3u8 批量下载解密

相关新闻

2026/7/13 23:54:25

Gemini3.5 营销分析教程:竞品资料、用户反馈和推广方案拆解

概要Gemini 3.5 是 Google 在 2026 年 5 月 I/O 大会上发布的新一代大语言模型,其中 Gemini 3.5 Flash 的输出速度达到其他前沿模型的 4 倍,价格砍半,在多模态理解和长文本处理上有明显优势。对于营销从业者来说,Gemini 3.5 的核心…

2026/7/13 21:04:54

Playwright自动化测试:富文本编辑器图片上传流程解析

在做内容发布类 RPA 或自动化测试时,富文本编辑器通常是最容易出问题的环节。它不像普通表单只有 input 和 textarea,很多平台会使用 iframe、CKEditor、隐藏的文件选择框和异步上传接口。本文记录一个使用 Playwright 完成富文本图片上传的实现思路。图…

2026/7/14 18:11:18

TB67H480FNG与TM4C1299NCZAD在运动控制系统中的应用

1. 项目概述:TB67H480FNG与TM4C1299NCZAD的强强联合在工业自动化和嵌入式系统开发领域,电机控制与主控MCU的协同设计一直是项目成败的关键。TB67H480FNG作为东芝新一代的步进电机驱动芯片,与德州仪器TM4C1299NCZAD这款基于Cortex-M4F内核的高…

2026/7/14 18:11:18

【JavaSE】深度理解JVM

1. 什么是 JVM? JVM(Java Virtual Machine,Java虚拟机)是Java平台的核心组成部分,它是一个虚拟的计算机,负责执行编译后的Java字节码(.class文件)。简单来说,JVM就是Java…

2026/7/14 18:06:18

双节锂电池保护IC新手设计指南,从选芯片到画板子一篇全讲透

双节锂电池保护IC完整设计指南 参考设计过流计算电压检测充电搭配,电路图BOM全公开 做双节锂电池(7.4V/8.4V)产品,保护IC是必不可少的。很多人在设计时会遇到这些问题:我的电池组只有两根线,还需要保护IC吗…

2026/7/14 12:47:32

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/13 14:26:14

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/13 18:07:53

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/14 0:04:21

5分钟掌握足球PBR材质制作:Photoshop与Unity高效工作流

1. 项目概述:为什么是足球PBR材质?在游戏开发,尤其是体育竞技类游戏的制作中,一个看起来“对味”的足球,往往比我们想象中更重要。它不仅是赛场上的核心道具,更是玩家视觉焦点和沉浸感的重要来源。一个塑料…

2026/7/14 0:04:21

ChatGPT联网搜索失败,92%开发者误判为网络问题——真实根因竟是LLM推理会话上下文污染导致Search Agent进程静默退出(含strace复现脚本)

更多请点击: https://intelliparadigm.com 第一章:ChatGPT 联网搜索失败 当 ChatGPT 的联网搜索功能无法正常工作时,用户常遇到“搜索不可用”“未连接到互联网”或空白响应等现象。该问题并非模型本身缺陷,而是由权限配置、网络…

2026/7/14 12:47:31

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…