首页
/ M3U8下载器使用指南

M3U8下载器使用指南

2026-02-06 05:27:10作者:乔或婵

M3U8-Downloader 是一个基于 Go 语言开发的开源工具,专门用于多线程下载直播流 M3U8 格式的视频。该工具支持跨平台运行,能够自动解析 M3U8 文件、下载 TS 片段并进行合并,同时支持加密视频的解密功能。

项目特性

  • 多线程下载:支持多线程并发下载,提高下载效率
  • 加密解密:支持 AES-128-CBC 加密视频的自动解密
  • 断点续传:下载失败自动重试机制
  • 跨平台支持:提供 Windows、Linux、macOS 三大平台的可执行文件
  • 智能合并:自动合并 TS 片段为 MP4 文件

快速开始

环境要求

  • Go 1.16 或更高版本(如需从源码编译)
  • 网络连接(用于下载 M3U8 流媒体)

下载预编译版本

项目提供了各个平台的预编译版本,可以直接下载使用:

  • m3u8-darwin-amd64(Mac Intel 芯片)
  • m3u8-darwin-arm64(Mac Apple 芯片)
  • m3u8-linux-amd64(Linux 64位)
  • m3u8-windows-amd64.exe(Windows 64位)

源码编译

如需从源码编译,首先克隆项目:

git clone https://gitcode.com/gh_mirrors/m3u8d/m3u8-downloader
cd m3u8-downloader
go build -o m3u8-downloader

使用方法

基本使用

# 简洁使用
./m3u8-downloader -u=http://example.com/index.m3u8

# 完整参数使用
./m3u8-downloader -u=http://example.com/index.m3u8 -o=example -n=16 -ht=v1 -c="key1=v1; key2=v2"

参数说明

参数 说明 默认值
-u M3U8 下载地址 必填
-o 输出文件名(不含后缀) "movie"
-n 下载线程数 24
-ht 主机类型(v1 或 v2) "v1"
-c 自定义请求 Cookie
-r 是否自动清除 TS 文件 true
-s 是否允许不安全请求 0
-sp 文件保存路径 当前目录

平台特定命令

Linux/MacOS:

./m3u8-linux-amd64 -u=http://example.com/index.m3u8

Windows PowerShell:

.\m3u8-windows-amd64.exe -u=http://example.com/index.m3u8

功能演示

功能演示

常见问题解决

权限问题

在 Linux 或 Mac 平台,如果显示无运行权限,请使用 chmod 命令添加权限:

# Linux amd64 平台
chmod 0755 m3u8-linux-amd64

# Mac darwin amd64 平台  
chmod 0755 m3u8-darwin-amd64

下载失败处理

如果下载失败,可以尝试设置不同的主机类型参数:

# 尝试 v1 模式
./m3u8-downloader -u=http://example.com/index.m3u8 -ht=v1

# 尝试 v2 模式
./m3u8-downloader -u=http://example.com/index.m3u8 -ht=v2

加密视频处理

工具支持自动解密 AES-128-CBC 加密的视频流。当检测到加密的 M3U8 文件时,工具会自动获取解密密钥并进行解密处理。

技术实现

M3U8-Downloader 使用 Go 语言开发,主要功能包括:

  1. M3U8 解析:解析 M3U8 文件获取 TS 片段列表和解密密钥
  2. 多线程下载:使用 goroutine 实现并发下载
  3. 解密处理:支持 AES-128-CBC 加密视频的解密
  4. 文件合并:将下载的 TS 片段合并为完整的 MP4 文件
  5. 进度显示:实时显示下载进度和状态

注意事项

  • 确保 M3U8 地址的有效性和可访问性
  • 部分视频源可能需要特定的 HTTP 头信息(如 Referer)
  • 下载过程中如遇网络问题,工具会自动重试
  • 建议在下载前确认目标视频的版权和使用权限

通过本工具,您可以高效地下载和管理 M3U8 格式的视频流,满足各种视频下载需求。

登录后查看全文
热门项目推荐
相关项目推荐