Skip to content

ArataAI/video_downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DPlayer 视频下载器

一个用于下载网页中DPlayer播放器视频的Tampermonkey脚本,支持HLS格式(m3u8)视频下载。

功能特点

  • 🎯 自动检测页面中的DPlayer播放器
  • 📋 一键复制视频m3u8地址
  • 💡 提供ffmpeg下载命令
  • ⬇️ 多种下载方式提示
  • 🎨 友好的用户界面
  • 🔄 支持动态加载的视频

安装步骤

1. 安装Tampermonkey扩展

根据你的浏览器选择对应的扩展:

2. 安装脚本

  1. 点击Tampermonkey图标
  2. 选择"管理面板"
  3. 点击"添加新脚本"(或点击"+"图标)
  4. 删除默认内容,将 dplayer-video-downloader.user.js 文件内容复制粘贴进去
  5. 点击"文件" -> "保存"(或按 Ctrl+S)

使用方法

基本使用

  1. 访问包含DPlayer视频播放器的网页
  2. 脚本会自动检测视频,并在页面右上角显示下载面板
  3. 面板包含以下功能按钮:
    • 📋 复制视频地址: 将m3u8地址复制到剪贴板
    • 💡 使用ffmpeg下载: 显示ffmpeg下载命令
    • ⬇️ 浏览器下载: 显示下载提示和方法
    • ✕ 关闭: 关闭下载面板

下载方法

方法一:使用 ffmpeg(推荐)

ffmpeg是最可靠的下载工具,支持自动解密和合并视频片段。

安装 ffmpeg:

  • Windows:

    1. ffmpeg官网 下载
    2. 或使用包管理器: winget install ffmpegchoco install ffmpeg
  • macOS:

    brew install ffmpeg
  • Linux:

    # Ubuntu/Debian
    sudo apt install ffmpeg
    
    # Fedora
    sudo dnf install ffmpeg
    
    # Arch Linux
    sudo pacman -S ffmpeg

下载视频:

  1. 点击"💡 使用ffmpeg下载"按钮
  2. 复制显示的命令
  3. 在终端/命令提示符中执行:
    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.mp4

方法二:使用 N_m3u8DL-CLI

N_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文件)

工作原理

  1. 检测: 脚本监听页面DOM,查找.dplayer元素
  2. 提取: 从data-config属性或<video>标签中提取m3u8地址
  3. 界面: 在页面上显示下载控制面板
  4. 下载: 提供多种下载方式供用户选择

HLS视频结构

视频.m3u8 (主播放列表)
├── 加密密钥 (crypt.key)
└── 视频片段
    ├── segment0.ts
    ├── segment1.ts
    ├── segment2.ts
    └── ...

ffmpeg会自动:

  1. 下载m3u8播放列表
  2. 获取加密密钥(如果有)
  3. 下载所有.ts片段
  4. 解密片段(如果加密)
  5. 合并为完整视频

常见问题

Q: 为什么下载失败?

A: 可能的原因:

  1. URL过期: 许多视频URL包含时效性token(如auth_key),过期后无法下载
    • 解决:在URL过期前尽快下载
  2. 防盗链: 服务器检查Referer或User-Agent
    • 解决:使用ffmpeg添加相应的header
  3. 网络问题: 连接超时或中断
    • 解决:检查网络连接,重试下载

Q: 视频下载很慢?

A:

  • HLS视频由多个片段组成,需要逐个下载
  • 使用ffmpeg的-threads参数可以加速:
    ffmpeg -threads 4 -i "m3u8地址" -c copy output.mp4

Q: 下载的视频无法播放?

A:

  1. 确保下载完整(检查文件大小)
  2. 尝试不同的播放器(VLC、PotPlayer等)
  3. 使用ffmpeg重新编码:
    ffmpeg -i "m3u8地址" -c:v libx264 -c:a aac output.mp4

Q: 脚本没有检测到视频?

A:

  1. 确认页面使用的是DPlayer播放器
  2. 刷新页面重试
  3. 检查浏览器控制台是否有错误信息
  4. 等待视频完全加载后再尝试

Q: 如何下载需要登录的视频?

A:

  1. 先登录网站
  2. 使用脚本获取m3u8地址
  3. 使用浏览器开发者工具获取cookies
  4. 使用ffmpeg添加cookie:
    ffmpeg -headers "Cookie: your_cookie_here" -i "m3u8地址" -c copy output.mp4

示例

示例1:基本下载

ffmpeg -i "https://example.com/video.m3u8" -c copy video.mp4

示例2:带认证的下载

ffmpeg -i "https://example.com/video.m3u8?auth_key=xxx" -c copy video.mp4

示例3:添加headers

ffmpeg \
  -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

示例4:转换格式

# 转换为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

免责声明

此脚本仅供学习和个人使用。请尊重版权,不要下载和传播受版权保护的内容。使用本脚本产生的任何法律问题,由使用者自行承担。

更新日志

v1.0.0 (2024-01-01)

  • 🎉 初始版本发布
  • ✨ 支持DPlayer视频检测
  • ✨ 提供多种下载方式
  • ✨ 友好的用户界面

贡献

欢迎提交Issue和Pull Request!

相关链接


如果这个脚本对你有帮助,请给个Star⭐!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages