Skip to content

.m3u8是什么格式?如何打开m3u8文件?(PC / 手机 / 网页)

什么是 m3u8 文件?

M3U8 是一种基于文本的多媒体播放列表文件格式,采用 UTF-8 编码。它是 M3U 格式的扩展版本(所以多了一个 8😀),专门用于 HTTP Live Streaming (HLS) 流媒体协议,由 Apple 公司开发并成为互联网流媒体传输的主流标准之一。它是一个纯文本文件,里面存放的是 视频切片文件(通常是 .ts 或 .mp4) 的 URL 地址和一些控制信息。

文件结构

M3U8 文件结构主要包含基本标记,媒体片段声明和播放列表类型标识

  • 基本标记
text
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
  • 媒体片段声明
text
#EXTINF:10.0,
http://example.com/segment1.ts
#EXTINF:9.5,
http://example.com/segment2.ts
  • 播放列表类型标识
text
#EXT-X-PLAYLIST-TYPE:VOD

本质原理

M3U8 是一个纯文本索引文件,其核心作用是存储视频切片文件(通常是 .ts 分段或 .mp4 碎片)的 URL 地址序列和播放控制指令。通过这个播放列表,播放器能够按顺序获取并拼接这些媒体片段,实现流畅的流媒体播放体验。这种设计使 M3U8 成为了现代自适应比特率流媒体技术的基石,支持根据不同网络条件动态切换不同质量的视频流,确保最佳观看体验。

m3u8 播放示意图流程图

如何打开 m3u8 文件?

m3u8 文件本质上是个 文本播放列表文件,里面记录了视频分片的 URL 或路径,所以 它本身不是视频,而是视频的“目录”。想“打开 m3u8”,可以分不同情况:

直接查看内容

m3u8 文件本身是纯文本,可以用 记事本 / VS Code / Sublime Text 打开,看到类似内容:

txt
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10,
segment1.ts
#EXTINF:10,
segment2.ts
#EXTINF:10,
segment3.ts
#EXT-X-ENDLIST

播放器播放

桌面端播放器

  • VLC Media Player 播放器(推荐,跨平台):

    • 打开 VLC → 媒体 → 打开网络串流 → 输入 m3u8 地址或选择本地 m3u8 文件。
  • PotPlayer:拖入 m3u8 文件即可。

  • IINA(Mac):直接打开。

网页在线播放

用浏览器不一定能直接播放,需要hls.js这样的库支持,本站支持在线播放 m3u8,支持浏览器各终端适配,同时支持 HLSDASHMPD 等流媒体格式,还支持m3u8 转 mp4

参考资料

HTTP_Live_Streaming

hls.js

VLC Media Player

Last updated: