hs-m3u8
m3u8 视频下载工具。支持大部分的m3u8视频下载。后续增加UI界面。
功能
- aes解密
- 自动选择高分辨m3u8
- 合并MP4
- 可选择保留ts文件
- 合并使用 PyAV(wheel 内置 FFmpeg),无需另装 ffmpeg
计划
- 增加cli功能,通过终端执行命令去下载
- 增加支持curl参数功能。直接在curl里面读取请求头及cookie
- 编写详细文档
- 选择一个合适的技术栈,增加UI界面
安装
pip包安装
pip install hs-m3u8
克隆代码安装
见下面开发文档
使用
url = "https://surrit.com/6d3bb2b2-d707-4b79-adf0-89542cb1383c/playlist.m3u8"
name = "SDAB-129"
dl = M3u8Downloader(
m3u8_url=url,
save_path=f"downloads/{name}",
max_workers=64
)
await dl.run(del_hls=False, merge=True)
- del_hls 为True时会删除ts、m3u8、key等文件,否则会经过处理后保留,以便直接使用
- merge 为True时会自动合并为mp4
开发
先安装uv
uv网站:https://docs.astral.sh/uv/
使用uv 安装包及虚拟环境
uv sync
Metadata
Release files for hs-m3u8 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hs_m3u8-0.1.9.tar.gz | 6.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hs_m3u8-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 kB
Release files / hs_m3u8-0.1.9.tar.gz
| Download URL | hs_m3u8-0.1.9.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a28fe020a4f260e9d2f37cdc2c5a4af87ed40a0d79360bb1b07b4c8e8c730012
|
|
BLAKE2b-256 checksum How to use checksums |
6324ce27aac502cc8ea17bc01a3b23d0b676ce5955752e0d697577991172f23e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.7
|
Release files / hs_m3u8-0.1.9-py3-none-any.whl
| Download URL | hs_m3u8-0.1.9-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb81d09c7b00f9fda97641cc588a4c4845d0f4890aa6c46231104d6598387296
|
|
BLAKE2b-256 checksum How to use checksums |
822cbeb456eeb2480a43e01eb74e9f9a7912731f9f79c7d154d0b67238e79846
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.7
|