1 前言
你是否也遇到过:
• ?免费电影网站刚收藏就失效? • ?在线看剧广告满天飞、卡顿不断? 其实,99%的免费电影网站片源都来自“资源站”。只要掌握方法,看片再也不卡顿!今天给大家安利一款神器——
@lzwme/m3u8-dl
,支持批量下载剧集、Web管理、Docker一键部署,永久免费!
TL;DR: 背景之太长可不看版
如果你曾经在互联网上搜索过免费电影网站并观看了想看的电影和电视剧,那么一定有这种感受:免费是真的,但同时还附赠了满屏广告、弹窗乱跳以及频繁的卡顿。
但是你不会或不想过于费时精力的去折腾网盘、BT、PT 等高质量片源渠道,也不想因为看一部剧集去开爱腾优的会员,于是这种点开即用的免费电影网站依然是首选之一。于是你收藏了它们,却也疑惑它们为何都总是倒闭失效的那么快。如果你知道这种免费电影网站是怎样创建的,它们的片源又是怎样来的,就不会惊奇了。
简单来说,通过开源免费的电影建站程序搭建,并配置上定时任务自动的从第三方影视资源站持续采集更新片源,就可以低成本轻松搭建一个电影在线观看网站。如果想了解的更多,可以参阅之前写的这篇介绍文章:免费电影网站建设的模式与技术内幕
自从知道免费电影网站的片源来源后,我在偶尔想看某部不易找到片源的剧集时,就直接先寻找有效的采集资源站,然后直接搜索并观看。其实如猫影视、TVBOX这些出名的TV免费电影观看软件搜索出的片源,大都也都来源于资源站。资源站因为靠分发视频嵌入xx广告的利益关系,往往像打不死的小强更为稳定,但也同时因为访问量大而容易播放卡顿。
影视资源站在详情页会同时提供片源的地址,在了解到它们的视频源都是基于 m3u8 格式分发后,我就写了一个 m3u8 视频下载工具,以彻底解决观看卡顿的问题。
下面开始介绍它的功能及用法。
2 M3U8-DL 视频下载工具的安装与使用
@lzwme/m3u8-dl 是一个开源的 m3u8 视频下载工具,支持多线程批量下载剧集、边下边播、断点续传、AES 解密、自动转码为 mp4,并且可以通过 Docker 一键部署 Web 管理界面,极大地方便了视频资源的批量获取和管理。
2.1 主要功能亮点
• 多线程下载:采用线程池模式,下载速度快,效率高。 • 边下边播:支持在线播放已下载的 ts 缓存片段,体验流畅。 • 批量下载:支持多个 m3u8 地址批量下载,适合剧集、课程等场景。 • 断点续传:下载失败自动保留缓存,重试时只补下失败片段,节省流量和时间。 • AES 解密:支持常见加密视频流的自动解密。 • 自动转码:可自动将下载的 ts 文件合成为 mp4(需全局安装 ffmpeg)。 • 采集站 API 支持:可通过命令行交互,指定采集站 API 搜索并下载资源。 • WebUI 下载中心:内置 Web 管理界面,支持浏览器操作和下载任务管理。 • 抖音/微博视频解析:支持解析抖音、微博视频分享链接并无水印下载。
2.2 安装方法
首先需要下载并安装 Node.js:https://nodejs.org/zh-cn
方式一:NPM 全局安装
执行命令:
npm i -g @lzwme/m3u8-dl
m3u8dl -h
方式二:npx 临时运行
执行命令:
npx @lzwme/m3u8-dl -h
2.3 使用方式
2.3.1 命令行方式下载视频
• 下载单个 m3u8 文件: m3u8dl https://example.com/video.m3u8
• 批量下载(命令行直接指定多个地址): m3u8dl "第1集|https://..." "第2集|https://..." --filename "剧集名"
• 批量下载(通过 txt 文件批量导入): m3u8dl 剧集.txt
1. 新建 剧集.txt
,以换行分割,每一行格式为:第1集$https://...
2. 执行:
2.3.2 以启动 WebUI 管理界面的方式使用
不会命令行、嫌弃命令行太繁琐也没关系,Web界面一键操作,零门槛上手!
1. 安装依赖:
npm i -g express ws
2. 启动服务:
m3u8dl server -p 6600
3. 浏览器访问 http://dockerip:6600
进行可视化管理。
2.3.4 以 API 调用形式集成到自研程序
支持以 Node.js API 方式调用,适合二次开发和集成。
import { m3u8Download } from '@lzwme/m3u8-dl';
m3u8Download('test/t.m3u8', { debug: true, filename: '测试视频' });
2.3 Docker 部署
支持一键 Docker 部署,适合自有服务器、NAS 等场景。
docker pull renxia/m3u8dl-dl:latest
docker run --rm -it \
-v ./cache:/app/cache \
-v ./downloads:/app/downloads \
-p 6600:6600 \
renxia/m3u8dl-server:latest
也可用 docker-compose
:
services:
web:
image:renxia/m3u8-dl:latest
volumes:
-./downloads:/app/downloads
-./cache:/app/cache
ports:
-'6600:6600'
environment:
DS_PORT:'6600'
DS_SAVE_DIR:'/app/downloads'
DS_CACHE_DIR:'/app/cache'
restart: unless-stopped
部署后,浏览器访问 http://dockerip:6600
即可使用 Web 管理界面。
3 基于资源站下载和观看视频的方式及注意事项
首先寻找一个可有效访问的资源站,关键词:影视采集资源站
然后在资源站里搜索想看的内容,进入详情页,找到 .m3u8
为后缀的播放地址并复制。示例:
接着参考 M3U8DL 工具下载方式进行单集或批量下载。以 webui 为例:
当下载到一定的比例后,就可以用边下边看模式提前看视频了。
注意事项:
• 资源站主要利益点是在分发免费视频中嵌入小广告,但这些广告大都是灰色擦边为主,请勿相信视频里面的广告! • 对资源站片源的高频访问会触发封禁导致下载失败,注意适当限制并发下载数量和并发线程数。 • 如果希望总是以 边下边看
模式观看,应在设置里:取消下载完成后删除ts分片缓存
、取消下载完成后转换格式
,看完后手动删除即可。• 各种的折腾其观影体验都不如开一个爱腾优视频会员。其实这些会员我也都有开,但使用频率是真的不高。选择适合自己的方式就好。
4 结语
@lzwme/m3u8-dl
适合需要批量下载、管理 m3u8 视频资源的用户和开发者,支持多种使用方式和部署场景,开箱即用,欢迎体验和贡献!
地址:https://github.com/lzwme/m3u8-dl
此外,基于个人需求还写了一个 M3U8 视频在线播放器,支持本地化的历史记录、收藏夹、批量播放等功能,有兴趣也可以进一步了解:
• 仓库:https://github.com/lzwme/m3u8-player • 预览:https://lzw.me/x/m3u8-player
本文链接:https://www.kinber.cn/post/5136.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: