发布时间:2026/7/7 18:35:57
协议之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/7 17:35:56

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

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

2026/7/7 17:35:56

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

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

2026/7/7 19:35:58

Python matomeru-mi 包完全指南

1. 引言matomeru-mi 是一个轻量级 Python 工具包,专注于将多个文本片段、数据记录或日志条目「汇总」为结构化、可读性强的输出。它适用于日志聚合、报告生成、数据预处理等场景,能够帮助开发者快速将零散信息整理为统一格式。本文将从安装、核心功能、参…

2026/7/7 19:35:58

GetQzonehistory:一键备份QQ空间完整历史说说的终极解决方案

GetQzonehistory:一键备份QQ空间完整历史说说的终极解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾因为QQ空间的历史说说无法查看而感到遗憾?那…

2026/7/7 19:35:58

Windows APK安装器完整教程:轻松在电脑上安装Android应用

Windows APK安装器完整教程:轻松在电脑上安装Android应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接安装Android应用吗&#xf…

2026/7/7 1:15:40

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/7 1:17:48

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/7 0:35:26

STM32L081CB驱动WS2812 LED灯带的实战指南

1. WS2812与STM32L081CB的梦幻组合第一次接触WS2812 LED灯带时,我被它的神奇特性震撼到了——仅用一根数据线就能控制数百个独立RGB LED。而当我将其与STM32L081CB这款低功耗微控制器结合时,发现这个组合简直是创客项目的黄金搭档。WS2812(又…

2026/7/7 0:35:26

Service Mesh 超时重试:救服务,也可能放大故障

Service Mesh 超时重试:救服务,也可能放大故障 一、重试不是免费的稳定性 Service Mesh 让超时、重试、熔断、限流变成配置项,看起来很优雅。但重试不是免费的稳定性。一次请求失败后自动重试,短期可能救回偶发错误;如…

2026/7/7 4:23:48

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的英文界面感…