PHPackages                             guanhui07/downloader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. guanhui07/downloader

ActiveProject

guanhui07/downloader
====================

PHP 协程池极速下载M3U8视频

v2.0.x-dev(4y ago)00MITPHPPHP &gt;=7.4.0

Since Nov 21Pushed 1y agoCompare

[ Source](https://github.com/guanhui07/Downloader-M3U8)[ Packagist](https://packagist.org/packages/guanhui07/downloader)[ RSS](/packages/guanhui07-downloader/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (3)Used By (0)

##### dl-m3u8：

[](#dl-m3u8)

[![](https://camo.githubusercontent.com/135fc29da5e1d67b83ae286e1a3b74546660e42793a5f76a9ee3b18d485a316c/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f64346262323962303330313334316363393733393530306636326236666236302e706e67)](https://camo.githubusercontent.com/135fc29da5e1d67b83ae286e1a3b74546660e42793a5f76a9ee3b18d485a316c/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f64346262323962303330313334316363393733393530306636326236666236302e706e67)

#### dl-m3u8 简介：

[](#dl-m3u8-简介)

> m3u8准确来说是一种索引文件，使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址，从而实现在线播放。主要还是复用，类似于一个下载框架；用户自己定义命令，一个命令对应一个下载网站；协程配合Channel进行通信，性能很好。

#### 为何实现 dl-m3u8？

[](#为何实现-dl-m3u8)

1. 因为M3U8格式特殊性，普通一个500MB的视频文件可能切分出上千个视频片段。
2. 这种视频文件，通过迅雷是无法现在下载全部ts文件自动合并。
3. 如果使用脚本文件下载合并，网站不同规则不同导致管理及其混乱。

#### dl-m3u8 优点:

[](#dl-m3u8-优点)

- 自定义下载规则也可方便后续复用。\[√\]
- 协程并发下载，能节省许多时间。\[√\]
- Ctrl+c安全停止下载程序，避免强制停止丢失数据。\[√\]
- 增加JSON文件模板下载文件。\[√\]
- 可定义一套CLI UI界面方便用户下载交互。\[√\]
- 可自行改造源码，实现Sqlite本地数据库保存下载数据信息。\[x\]

### 环境要求

[](#环境要求)

- PHP 8.1.13
- Swoole 5.0.1
- /usr/bin/ffmpeg (转换视频格式)

### Doc

[](#doc)

推荐使用 [composer](https://www.phpcomposer.com/) 安装。

```
  git clone https://github.com/twomiao/Downloader-M3U8.git
  composer install (依赖PSR4)

```

启动 dl-m3u8：

```
  $> cd /Your path/Download-M3u8/
  $> ./dl-m3u8 m1905 /dl-m3u8/download/files

```

#### 加密文件实现加密接口，进行解密下载文件：

[](#加密文件实现加密接口进行解密下载文件)

```
