HLS(HTTP Live Streaming)标准的视频及加密

news/2026/1/20 9:21:36/文章来源:https://www.cnblogs.com/fps2tao/p/19504798

.m3u8 是 HLS(HTTP Live Streaming) 协议的索引文件,用于分割后的 TS 分片的播放调度。制作核心是 将 MP4 转码为 TS 分片 + 生成对应的 m3u8 索引,主流工具是 ffmpeg

1. 前置准备

  • 安装 ffmpeg:Linux 可通过 yum install ffmpeg(CentOS/Rocky Linux)或 apt install ffmpeg(Debian/Ubuntu);Windows 需下载编译包并配置环境变量。
  • 准备待处理的 MP4 文件(建议先确保 MP4 编码为 H.264 + AAC,兼容性最佳)。

2. 单分辨率 HLS 转换(基础命令)

执行以下 ffmpeg 命令,即可生成 m3u8 和对应的 TS 分片:
ffmpeg -i input.mp4 \-c:v h264 \-c:a aac \-hls_time 10 \          # 每个 TS 分片的时长(单位:秒)-hls_list_size 0 \      # 0 表示保留所有分片,非 0 则只保留最新 N 个-hls_segment_filename "output_%03d.ts" \  # TS 分片命名规则output.m3u8             # 生成的 m3u8 文件名
  • 执行后,目录下会生成:
    • output.m3u8:核心索引文件,记录 TS 分片的顺序、时长、路径。
    • output_001.tsoutput_002.ts...:分割后的视频分片文件。 

3. 多分辨率 HLS 转换(自适应码率,可选)

如果需要支持不同网速自动切换清晰度,可生成多套 TS 分片 + 一个主 m3u8:
# 生成低清(480p)分片
ffmpeg -i input.mp4 -c:v h264 -c:a aac -vf "scale=854:480" -hls_time 10 -hls_list_size 0 -hls_segment_filename "480p_%03d.ts" 480p.m3u8# 生成高清(720p)分片
ffmpeg -i input.mp4 -c:v h264 -c:a aac -vf "scale=1280:720" -hls_time 10 -hls_list_size 0 -hls_segment_filename "720p_%03d.ts" 720p.m3u8# 生成主 m3u8(索引多分辨率)
echo "#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=854x480
480p.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=1280x720
720p.m3u8" > main.m3u8

二、服务器存放的文件

服务器必须同时存放 .m3u8 文件和对应的 .ts 分片文件,缺一不可:
 
  • .m3u8 是索引文件,本身很小(几 KB),仅记录 TS 分片的路径、时长、编码信息。
  • .ts 是实际的视频数据文件,播放器会先请求 m3u8,再根据索引逐个请求 TS 分片进行播放。
 
存放结构建议(以 Nginx 为例):
/var/www/html/hls/
├─ output.m3u8       # 索引文件
├─ output_001.ts     # TS 分片1
├─ output_002.ts     # TS 分片2
└─ ...

Nginx 需配置支持 HLS 的 MIME 类型(在 nginx.conf 或站点配置中添加):

http {types {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}
}

三、原始 MP4 文件可以删除吗?

 
可以删除,但需满足一个前提:
 
已经成功生成了完整的 .m3u8 和所有 .ts 分片,且验证播放正常。
 
 
原因:
 
  • 播放 HLS 流时,播放器只依赖 .m3u8.ts 文件,与原始 MP4 无任何关联。
  • 若后续需要重新生成 HLS(如调整分片时长、增加分辨率),则需要保留原始 MP4;否则删除后无法再基于原视频重新转换。
 
 
 
加密下一章介绍。
 
 
 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1188206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nacos核心功能 02,Nacos 配置中心进阶:动态配置刷新与灰度发布实战指南

在微服务架构中,配置中心是保障系统弹性与稳定性的核心基础设施。Nacos 作为阿里巴巴开源的一站式服务管理平台,不仅提供了基础的配置集中管理能力,其动态配置刷新与灰度发布功能更是解决了传统配置管理的诸多痛点,成为微服务治理…

深入解析:安卓 Java线程八股文 (线程、多线程、线程池、线程安全)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

HoRain云--LINQ查询语法全解析

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

2026缠膜机品牌风云榜:哪些型号受市场青睐?缠绕包装机/横向打包机/封箱打包机/在线式缠绕包装机,缠膜机工厂怎么选择 - 品牌推荐师

随着工业4.0与智能制造的深度推进,包装环节的自动化升级已成为企业降本增效的关键抓手。缠膜机作为物流包装的核心设备,其技术迭代与市场格局正经历深刻变革——从单一功能向智能化、柔性化转型,从单机设备向全场景…

Nacos核心功能 03,Nacos 命名空间与配置分组:优雅实现多环境配置隔离

在微服务架构中,配置管理是核心环节之一。不同环境(开发、测试、生产)、不同业务模块的配置如果混杂在一起,不仅容易引发配置错乱,还会增加维护成本。Nacos 作为阿里开源的配置中心和注册中心,提供了命名空…

非隔离式定时器倒计时器的制作之一----电路设计

一、想法 手头有若干片CH32V003,TSSOP20封装的,闲着没事,准备制作一个非隔离式的定时器倒计时器。二、隔离式 以前制作的定时器或倒计时器都是隔离式的,即单片机控制板均由220V变压器或开关电源转5V供电。无论用变…

FPGA系统架构设计实践10_时钟网络 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Docker核心概念与实战指南

1. Docker基础概念Docker概述: Docker是一种成熟高效的软件部署技术,利用容器化技术为应用程序封装独立的运行环境。每个运行环境即为一个容器,承载容器运行的计算机称为宿主机。容器与虚拟机的区别:Docker容器: 多个…

2026年市面上知名的重型货架供应厂家推荐排行榜单,横梁货架/自动化立体库货架/重型货架,重型货架生产商口碑推荐榜单 - 品牌推荐师

随着制造业与物流业对仓储效率要求的持续提升,重型货架作为工业仓储的核心设备,其技术迭代与服务质量直接影响企业运营成本。当前市场呈现“头部企业主导技术标准、区域厂商深耕细分场景”的格局,采购方需综合评估技…

WebRTC在对称NAT场景下无法穿透问题解析和方案

目录什么是WebRTC?核心组件交互步骤未使用Coturn案例场景1:A设备连接普通宽带场景2:A设备使用4G网络使用Coturn案例术语解释SDP锥形 NAT(宽松 NAT)对称 NATICESTUNTURN信令服务器 什么是WebRTC?是一种支持浏览器…

基于PHP、asp.net、java、Springboot、SSM、vue3的基VUE的游戏商店系统的设计与实现

目录 可选框架 可选语言 内容 可选框架 J2EE、MVC、vue3、spring、springmvc、mybatis、SSH、SpringBoot、SSM、django 可选语言 java、web、PHP、asp.net、javaweb、C#、python、 HTML5、jsp、ajax、vue3 内容 近几年来,随着互联网的发展,网络游…

佳信搬家是否有保险保障,服务靠谱度大揭秘 - 工业品牌热点

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆搬迁企业,为客户选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:合肥佳信搬家公司 推荐指数:★★★★★ | 口碑评分:专业靠谱的高品质搬迁…

Docker - 使用Coturn实现WebRTC稳定连接

目录什么是Coturn?安装和部署Coturn原理可见【WebRTC在对称NAT场景下无法穿透问题解析和方案】什么是Coturn?Coturn 是一个功能强大、开源的 STUN/TURN 服务器,主要用于解决 NAT穿透问题,特别适用于 WebRTC 等实时…

基于PHP、asp.net、java、Springboot、SSM、vue3的基于Django和VUE的大学生云课堂的设计与实现

目录 可选框架 可选语言 内容 可选框架 J2EE、MVC、vue3、spring、springmvc、mybatis、SSH、SpringBoot、SSM、django 可选语言 java、web、PHP、asp.net、javaweb、C#、python、 HTML5、jsp、ajax、vue3 内容 在近些年,随着互联网的兴起和快速发展&#x…

GitHub 热榜项目 - 日榜(2026-01-20)

GitHub 热榜项目 - 日榜(2026-01-20) 生成于:2026-01-20 统计摘要 共发现热门项目: 14 个 榜单类型:日榜 本期热点趋势总结 本期GitHub热榜显示AI应用开发正全面开花,开发者正积极利用大语言模型解决实际问题。热点集中在两大…

Thinkpad e495 Linux 下 ollama 使用AMD核显

系统环境 fastfetch .,;::::;,. root@localhost.;:cccccccccccc:;,. ----------------.;cccccccccccccccccccccc;. OS: Fedora Linux 43 (KDE Plasma Desktop Edition) x86_64.:…

基于Spring Boot的蛋糕甜品销售系统的设计与实现(任务书)

本科毕业论文(设计)任务书 学院:数学与数据科学学院 学生姓名 专业班级 信息与计算科学212班 学号 校内指导教师姓名 职称/职务 副教授 签名 校外指导教师姓名 职称/职务 技术经理 签名 论文题目 基于Spring Boot的蛋糕甜品销售系统的设计与实现 起始日期 2024-9 ~ 2025…

亲测好用!9大AI论文网站测评:继续教育写作全攻略

亲测好用!9大AI论文网站测评:继续教育写作全攻略 2026年AI论文写作工具测评:精准匹配继续教育需求 在当前学术环境日益复杂、科研任务不断加重的背景下,继续教育领域的学习者与从业者对高效、可靠的论文写作工具需求愈发迫切。面对…

收缩膜包装机优选制造,2026年这些厂家靠谱,收缩膜包装机/三维透明膜包装机/纸箱封箱机,收缩膜包装机企业口碑排行 - 品牌推荐师

随着制造业自动化升级浪潮的推进,收缩膜包装机作为后段包装环节的核心设备,正经历从单一功能向智能化、柔性化转型的关键阶段。据行业数据显示,2025年国内收缩膜包装机市场规模已突破85亿元,但设备稳定性、定制化能…

消防体质测试仪生产厂商哪家好?这份排名给你答案 - 工业品牌热点

在健康中国2030战略与军事、消防队伍现代化建设的双重推动下,专业体质测试仪已成为部队、消防单位提升人员体能素质、规范考核标准的核心装备。面对市场上鱼龙混杂的供应商,如何挑选兼具精准性、稳定性与场景适配性的…