一个用于下载网页中DPlayer播放器视频的Tampermonkey脚本,支持HLS格式(m3u8)视频下载。
- 🎯 自动检测页面中的DPlayer播放器
- 📋 一键复制视频m3u8地址
- 💡 提供ffmpeg下载命令
- ⬇️ 多种下载方式提示
- 🎨 友好的用户界面
- 🔄 支持动态加载的视频
根据你的浏览器选择对应的扩展:
- Chrome/Edge: Tampermonkey - Chrome 网上应用店
- Firefox: Tampermonkey - Firefox 附加组件
- Safari: Tampermonkey - Mac App Store
- 点击Tampermonkey图标
- 选择"管理面板"
- 点击"添加新脚本"(或点击"+"图标)
- 删除默认内容,将
dplayer-video-downloader.user.js文件内容复制粘贴进去 - 点击"文件" -> "保存"(或按 Ctrl+S)
- 访问包含DPlayer视频播放器的网页
- 脚本会自动检测视频,并在页面右上角显示下载面板
- 面板包含以下功能按钮:
- 📋 复制视频地址: 将m3u8地址复制到剪贴板
- 💡 使用ffmpeg下载: 显示ffmpeg下载命令
- ⬇️ 浏览器下载: 显示下载提示和方法
- ✕ 关闭: 关闭下载面板
ffmpeg是最可靠的下载工具,支持自动解密和合并视频片段。
安装 ffmpeg:
-
Windows:
- 从 ffmpeg官网 下载
- 或使用包管理器:
winget install ffmpeg或choco install ffmpeg
-
macOS:
brew install ffmpeg
-
Linux:
# Ubuntu/Debian sudo apt install ffmpeg # Fedora sudo dnf install ffmpeg # Arch Linux sudo pacman -S ffmpeg
下载视频:
- 点击"💡 使用ffmpeg下载"按钮
- 复制显示的命令
- 在终端/命令提示符中执行:
ffmpeg -i "视频m3u8地址" -c copy output.mp4
高级选项:
# 指定输出文件名
ffmpeg -i "m3u8地址" -c copy "我的视频.mp4"
# 转换为其他格式
ffmpeg -i "m3u8地址" -c:v libx264 -c:a aac output.mp4
# 添加User-Agent(如果需要)
ffmpeg -user_agent "Mozilla/5.0" -i "m3u8地址" -c copy output.mp4
# 添加Referer(如果需要)
ffmpeg -headers "Referer: https://example.com/" -i "m3u8地址" -c copy output.mp4N_m3u8DL-CLI是一个专门的m3u8下载工具,功能强大。
下载地址: N_m3u8DL-CLI GitHub
使用方法:
N_m3u8DL-CLI "m3u8地址" --workDir "D:\Downloads" --saveName "视频名称"一些在线服务支持m3u8下载(注意隐私和安全):
- ✅ HLS (m3u8) - HTTP Live Streaming
- ✅ AES-128 加密的视频(ffmpeg会自动处理)
- ✅ 分片视频(.ts文件)
- 检测: 脚本监听页面DOM,查找
.dplayer元素 - 提取: 从
data-config属性或<video>标签中提取m3u8地址 - 界面: 在页面上显示下载控制面板
- 下载: 提供多种下载方式供用户选择
视频.m3u8 (主播放列表)
├── 加密密钥 (crypt.key)
└── 视频片段
├── segment0.ts
├── segment1.ts
├── segment2.ts
└── ...
ffmpeg会自动:
- 下载m3u8播放列表
- 获取加密密钥(如果有)
- 下载所有.ts片段
- 解密片段(如果加密)
- 合并为完整视频
A: 可能的原因:
- URL过期: 许多视频URL包含时效性token(如
auth_key),过期后无法下载- 解决:在URL过期前尽快下载
- 防盗链: 服务器检查Referer或User-Agent
- 解决:使用ffmpeg添加相应的header
- 网络问题: 连接超时或中断
- 解决:检查网络连接,重试下载
A:
- HLS视频由多个片段组成,需要逐个下载
- 使用ffmpeg的
-threads参数可以加速:ffmpeg -threads 4 -i "m3u8地址" -c copy output.mp4
A:
- 确保下载完整(检查文件大小)
- 尝试不同的播放器(VLC、PotPlayer等)
- 使用ffmpeg重新编码:
ffmpeg -i "m3u8地址" -c:v libx264 -c:a aac output.mp4
A:
- 确认页面使用的是DPlayer播放器
- 刷新页面重试
- 检查浏览器控制台是否有错误信息
- 等待视频完全加载后再尝试
A:
- 先登录网站
- 使用脚本获取m3u8地址
- 使用浏览器开发者工具获取cookies
- 使用ffmpeg添加cookie:
ffmpeg -headers "Cookie: your_cookie_here" -i "m3u8地址" -c copy output.mp4
ffmpeg -i "https://example.com/video.m3u8" -c copy video.mp4ffmpeg -i "https://example.com/video.m3u8?auth_key=xxx" -c copy video.mp4ffmpeg \
-user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
-headers "Referer: https://example.com/" \
-i "https://example.com/video.m3u8" \
-c copy video.mp4# 转换为MP4 (H.264 + AAC)
ffmpeg -i "https://example.com/video.m3u8" \
-c:v libx264 -preset fast -crf 22 \
-c:a aac -b:a 128k \
video.mp4
# 转换为MKV
ffmpeg -i "https://example.com/video.m3u8" -c copy video.mkv你可以在脚本中修改以下配置:
const CONFIG = {
buttonText: '下载视频', // 按钮文字
checkInterval: 1000, // 检查间隔(毫秒)
maxRetries: 30, // 最大重试次数
};- ✅ Chrome 90+
- ✅ Firefox 88+
- ✅ Edge 90+
- ✅ Safari 14+
- ✅ Opera 76+
MIT License
此脚本仅供学习和个人使用。请尊重版权,不要下载和传播受版权保护的内容。使用本脚本产生的任何法律问题,由使用者自行承担。
- 🎉 初始版本发布
- ✨ 支持DPlayer视频检测
- ✨ 提供多种下载方式
- ✨ 友好的用户界面
欢迎提交Issue和Pull Request!
如果这个脚本对你有帮助,请给个Star⭐!