推荐一个下载流式媒体的开源库

在浏览器中用F12打开调试,找到网络一页,刷新页面,找到.M3U8的请求,并找到相关的引用项,比如

罗小黑战记2:https://www.66ss.org/e/DownSys/play/?classid=20&id=27261&pathid1=0&bf=0

里面的选项就是:

python 复制代码
M3U8_URL = "https://vip.dytt-cine.com/20251024/59985_d292974a/3000k/hls/mixed.m3u8"
OUTPUT = "output.mp4"

HEADERS = {
    "User-Agent": "Mozilla/5.0",
    # 如果你的合法资源需要 Referer / Cookie,可加
    "Referer": "https://vip.dytt-cine.com/share/d292974a12895cb3f54966cfc83576a8",
    # "Cookie": "session=xxxx",
}

如果使用ffmpeg下载,代码如下:

python 复制代码
import subprocess

M3U8_URL = "https://vip.dytt-cine.com/20251024/59985_d292974a/3000k/hls/mixed.m3u8"
OUTPUT = "output.mp4"

HEADERS = {
    "User-Agent": "Mozilla/5.0",
    # 如果你的合法资源需要 Referer / Cookie,可加
    "Referer": "https://vip.dytt-cine.com/share/d292974a12895cb3f54966cfc83576a8",
    # "Cookie": "session=xxxx",
}

def build_header_args(headers: dict):
    # ffmpeg 需要把 header 拼成字符串
    header_str = ""
    for k, v in headers.items():
        header_str += f"{k}: {v}\r\n"
    return header_str

cmd = [
    "ffmpeg",
    "-y",
    "-headers", build_header_args(HEADERS),
    "-i", M3U8_URL,
    "-c", "copy",
    "-bsf:a", "aac_adtstoasc",
    OUTPUT,
]

print("Running ffmpeg...")
subprocess.run(cmd, check=True)
print("Done:", OUTPUT)

但是这个东西实在是太慢了,

目前有开源的项目直接做了这个:

https://github.com/nilaoda/N_m3u8DL-RE

主页有详细的参数说明,那么一个命令行执行就可以了:

bash 复制代码
./N_m3u8DL-RE "https://vip.dytt-cine.com/20251024/59985_d292974a/3000k/hls/mixed.m3u8" --thread-count 6 --auto-select --binary-merge --save-name output --header "User-Agent:Mozilla/5.0" --header "Referer:https://vip.dytt-cine.com/share/d292974a12895cb3f54966cfc83576a8"

速度比ffmpeg快,而且输出更加清晰。

相关推荐
番茄育学园14 小时前
我的三款主流云存储音乐库实测笔记
笔记·分类·媒体
俊哥工具18 小时前
解决文件正在使用无法删除,顽固文件清理工具超好用
智能手机·电脑·word·音视频·媒体
音乐宝贝家1 天前
从合板到面单:麦杰克AC系列声学结构拆解与选购决策
新媒体运营·音视频·社交电子·业界资讯·媒体·用户运营·零售
微信开发api-视频号协议3 天前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台
doiito(Do It Together)4 天前
我用 Rust 写了个 AI 媒体管家:Gliding Horse 赋能 media_agent,目标是让 ComfyUI 工作流彻底自动化
人工智能·架构·rust·媒体
RTC实战笔记20 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
dayuOK630721 天前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体
福大大架构师每日一题22 天前
mediamtx v1.19.1 最新更新发布:安全增强、RTSP/RTMP协议支持升级、媒体处理修复与依赖全面更新
java·安全·媒体
北***字22 天前
新文科/新工科背景下数字媒体创新实训中心建设方案
媒体·虚拟现实·虚拟拍摄·数字媒体
EasyDSS22 天前
跳出播放器思维,私有化视频会议平台EasyDSS一站式视频平台,重塑企业私有化融媒体/视频会议系统需求!
音视频·媒体