网络流媒体协议——HLS协议

HTTP 实时流媒体(HTTP Live Streaming,HLS)协议是苹果公司提出的主要用于直播的流媒体协议。一个完整的基于HLS协议的流媒体直播系统由四部分组成,即音视频采集器、媒体服务器、媒体分发器和播放客户端。

媒体服务器

媒体服务器的核心任务是对数据采集端生成的音视频流数据进行编码、切分和整理,生成适合在HTTP网络中进行流式分发和传输的格式。媒体服务器的结构主要由媒体编码器媒体流切分器文件分割器三部分组成。

媒体编码器

主要作用是编码音频数据和视频数据,生成指定格式的音视频流。

在收到采集端获得的数据后须进行压缩编码,将视频图像编码为 H.264H.265 等格式的视频流,将音频数据编码为 HE-AACAC-3 等格式的音频流。编码完成的视频流和音频流可以被进一步封装为 MPEG-2 TSMPEG-2 传输流)格式进行输出。

媒体流切分器

媒体编码器输出的 MPEG-2 TS 格式的数据,媒体流切分器会将其切分为指定时长的多个 MPEG-2 TS 文件分片(简称 TS 文件分片),每个 TS 文件分片都可以作为一个独立的文件进行播放,而且按顺序衔接即可无缝还原为分割前的大文件。

媒体流切分器的另一项重要工作是生成并维护TS文件分片的索引文件。该索引文件以 .m3u8 为扩展名,是 HLS 协议的标志性特征之一。在 .m3u8 索引文件中包含了对每个 TS 文件分片的引用,在一个新的 TS 文件分片生成后,.m3u8 索引文件中的内容将同步更新。

文件分割器

文件分割器的作用是将一个已有的音视频文件按照 HLS 协议进行分割并封装为 TS 文件分片,然后进行传输。其角色类似于媒体编码器和媒体流切分器的组合,实现从输入文件进行转码、转封装,并进行文件切分的功能。

媒体分发器

连接和内容传输使用 HTTP,所以 HLS 媒体分发器仅需使用通用的 Web 服务器即可分发媒体内容,几乎不存在任何障碍。对服务器也只需配置与HLS对应的 MIME Type

相关推荐
fydw_71519 分钟前
音频生成技术的前沿探索:从语音合成到智能Podcast
人工智能·音视频·语音识别
18538162800余。3 小时前
碰一碰发视频源码搭建,支持OEM
音视频
macken99996 小时前
音频分类的学习
人工智能·深度学习·学习·计算机视觉·音视频
天夏已微凉9 小时前
OpenHarmony系统HDF驱动开发介绍(补充)
驱动开发·音视频·harmonyos
忆源9 小时前
【Qt】之音视频编程2:QtAV的使用篇
开发语言·qt·音视频
AnalogElectronic10 小时前
文件名是 ‪E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?
视频编解码
Unlimitedz11 小时前
iOS视频编码详细步骤(视频编码器,基于 VideoToolbox,支持硬件编码 H264/H265)
ios·音视频
飞猿_SIR11 小时前
Android Exoplayer多路不同时长音视频混合播放
android·音视频
Digitally11 小时前
如何将视频从手机传输到电脑(Android和iPhone)
智能手机·电脑·音视频
忆源15 小时前
【Qt】之音视频编程1:QtAV的背景和安装篇
开发语言·qt·音视频