# bilibili-推特-油管视频下载 **Repository Path**: zhixia223a/menu_cli ## Basic Information - **Project Name**: bilibili-推特-油管视频下载 - **Description**: 集成Bilibili、推特和油管视频下载功能,支持多平台适配,简化用户跨平台内容获取流程。 - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-10 - **Last Updated**: 2026-01-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python ## README # 🎬 智能视频下载器 一个功能强大的多平台视频下载工具,支持YouTube、Twitter/X、Instagram、TikTok、Bilibili等1700+网站,具备智能格式转换和美观的用户界面。 ## ✨ 功能特点 - 🎥 **多平台支持**: 支持YouTube、Twitter、Instagram、TikTok、Bilibili等主流视频平台 - 🖥️ **现代化界面**: 基于tkinter的美观直观图形用户界面,支持中文优化 - 📊 **实时进度**: 实时显示下载进度、速度和剩余时间,紧凑的列表设计 - 🔄 **并发下载**: 支持多个视频同时下载,可配置并发数量 - ⚙️ **智能设置**: 完整的设置界面,支持格式、质量、路径等全面配置 - 📝 **详细信息**: 美观的视频信息卡片显示,包含标题、时长、观看数等 - 🛡️ **错误处理**: 完善的错误处理和重试机制 - 🎯 **格式智能**: 自动优先下载H.264格式,确保最佳兼容性 - 🔄 **自动转换**: AV1等新格式自动转换为兼容的H.264格式 - 📁 **文件组织**: 智能文件夹结构,按视频标题分类存储 ## 🌐 支持的平台 ### 主流平台 (精选) - **🎥 YouTube** - 全球最大视频平台,支持播放列表、直播、字幕 - **🐦 Twitter/X** - 支持twitter.com和x.com的视频、GIF下载 - **📸 Instagram** - 图片、短视频、故事、IGTV - **🎵 TikTok** - 短视频平台,无水印下载 - **📺 Bilibili** - 中文视频社区,支持分P视频、弹幕、字幕 - **🎮 Twitch** - 游戏直播平台,支持直播录像和片段 - **🌐 Facebook** - 社交媒体公开视频 - **🎬 Vimeo** - 高质量视频平台 ### 全平台支持 **总计支持 1700+ 网站**,包括: - 🎵 **音乐平台**: Spotify, SoundCloud, 网易云音乐, QQ音乐等 - 📺 **直播平台**: 斗鱼, 虎牙, YouTube Live等 - 🎓 **教育平台**: Coursera, edX, 中国大学MOOC等 - 📰 **新闻媒体**: BBC, CNN, 央视网, 新华网等 - 🌍 **地区平台**: 各国本土视频网站 📋 **[查看完整支持列表](docs/supported_sites.md)** - 详细的分类网站列表和功能说明 ## 📋 系统要求 - **Python**: 3.7+ (推荐3.9+) - **操作系统**: Windows 7/10/11, macOS, Linux - **内存**: 最少512MB可用内存 - **存储**: 根据下载内容而定 - **网络**: 稳定的互联网连接 ## 🚀 快速开始 ### 方法一:直接运行 1. **下载项目** ```bash git clone cd video-downloader ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **安装FFmpeg** (推荐,用于格式转换) ```bash # Windows (使用chocolatey) choco install ffmpeg # macOS (使用homebrew) brew install ffmpeg # Ubuntu/Debian sudo apt update && sudo apt install ffmpeg ``` 4. **启动程序** ```bash python main.py ``` ### 方法二:一键安装脚本 运行项目根目录下的安装脚本: - Windows: `install.bat` - macOS/Linux: `install.sh` ## 📖 使用指南 ### 基本操作 1. **启动程序**: 运行`python main.py` 2. **输入链接**: 在URL输入框中粘贴视频链接 3. **获取信息**: 点击"获取视频信息"查看视频详情(可选) 4. **开始下载**: 点击"开始下载"按钮 5. **监控进度**: 在下载列表中查看实时进度 6. **管理下载**: 使用右键菜单取消、重试或打开文件夹 ### 界面说明 - **🎬 视频信息区域**: 显示视频标题、时长、观看次数等详细信息 - **📊 下载列表**: 实时显示所有下载任务的进度和状态 - **⚙️ 设置按钮**: 打开完整的设置界面进行个性化配置 - **📁 文件夹按钮**: 快速打开下载目录 ### 高级功能 - **批量下载**: 可同时添加多个链接进行并发下载 - **格式选择**: 在设置中选择视频质量和格式偏好 - **自动转换**: AV1格式自动转换为兼容的H.264格式 - **文件组织**: 按视频标题自动创建文件夹分类存储 ## ⚙️ 配置说明 程序提供完整的图形化设置界面,也可直接编辑`config/settings.ini`文件: ### 基本设置 - **下载目录**: 视频保存路径,支持自定义 - **并发下载**: 最大同时下载数量 (1-10) - **界面选项**: 自动开始下载、显示进度等 ### 下载设置 - **重试机制**: 失败重试次数和超时时间 - **附加内容**: 字幕、缩略图、元数据下载选项 - **网络设置**: 代理服务器和用户代理配置 ### 格式设置 - **视频质量**: 最佳/1080p/720p/480p等选项 - **智能转换**: 自动将AV1转换为H.264格式 - **转换质量**: 高/中/低质量选项 (CRF 18/23/28) ### 高级设置 - **网络代理**: HTTP/SOCKS5代理支持 - **用户代理**: 自定义浏览器标识 - **速度限制**: 下载速度限制 (KB/s) ### 文件组织结构 ``` downloads/ └── 视频标题/ ├── video/ # 视频文件 │ └── 视频标题.mp4 ├── thumbnails/ # 缩略图 │ └── 缩略图.jpg └── metadata/ # 元数据 └── 信息.json ``` ## 📁 项目结构 ``` video-downloader/ ├── main.py # 🚀 程序入口 ├── requirements.txt # 📦 Python依赖项 ├── README.md # 📖 说明文档 ├── config/ # ⚙️ 配置文件目录 │ └── settings.ini # 主配置文件 ├── core/ # 🔧 核心功能模块 │ ├── downloader.py # 下载器核心逻辑 │ └── config_manager.py # 配置管理器 ├── gui/ # 🖥️ 图形界面模块 │ ├── main_window.py # 主窗口界面 │ └── settings_dialog.py # 设置对话框 ├── utils/ # 🛠️ 工具模块 │ ├── logger.py # 日志记录工具 │ └── validators.py # URL验证工具 ├── tools/ # 🔨 辅助工具 │ └── convert_video.py # 视频格式转换工具 ├── downloads/ # 📁 默认下载目录 └── logs/ # 📝 日志文件目录 ``` ## ❓ 常见问题 ### Q: 下载失败怎么办? **A**: 1. 检查网络连接是否稳定 2. 确认视频链接有效且可访问 3. 查看`logs/`目录下的日志文件获取详细错误信息 4. 尝试在设置中启用代理或更换网络环境 ### Q: 视频无法播放怎么办? **A**: 1. 程序会自动将AV1格式转换为兼容的H.264格式 2. 如果仍无法播放,推荐使用VLC Media Player 3. 检查设置中的"自动转换AV1到H.264"选项是否启用 ### Q: 如何下载特定质量的视频? **A**: 1. 点击"设置"按钮打开设置界面 2. 在"格式设置"选项卡中选择视频质量 3. 可选择最佳质量、1080p、720p、480p等选项 ### Q: 支持批量下载吗? **A**: 1. 支持同时添加多个链接进行并发下载 2. 可在设置中调整最大并发下载数量 3. 播放列表批量下载功能正在开发中 ### Q: 下载的视频保存在哪里? **A**: 1. 默认保存在程序目录下的`downloads`文件夹 2. 可在设置界面中自定义下载路径 3. 视频按标题自动分类到独立文件夹中 ### Q: 程序运行缓慢或卡顿? **A**: 1. 减少并发下载数量 2. 关闭不必要的附加下载选项(字幕、缩略图等) 3. 确保有足够的磁盘空间和内存 ### Q: 如何设置代理? **A**: 1. 在设置界面的"高级设置"中配置代理 2. 支持HTTP和SOCKS5代理 3. 格式:`http://proxy:port` 或 `socks5://proxy:port` ## 🔧 技术栈 - **GUI框架**: tkinter + ttk (现代化主题) - **下载引擎**: yt-dlp (最新版本) - **视频处理**: FFmpeg (格式转换) - **配置管理**: configparser - **日志记录**: logging (多级别日志) - **多线程**: threading (并发下载) - **数据验证**: 自定义URL验证器 ## 🎯 核心特性 ### 智能格式处理 - **优先下载**: 自动选择兼容性最好的H.264格式 - **自动转换**: AV1/VP9等新格式自动转换为H.264 - **质量保证**: 支持高/中/低三档转换质量 ### 用户体验优化 - **中文界面**: 完全中文化,针对中文用户优化 - **美观设计**: 现代化卡片式信息显示 - **紧凑布局**: 优化的行高和间距设计 - **实时反馈**: 详细的下载进度和状态显示 ### 文件管理 - **智能分类**: 按视频标题自动创建文件夹 - **多类型支持**: 视频、缩略图、元数据分类存储 - **路径安全**: Windows文件名兼容性处理 ## 📄 许可证 本项目使用的所有组件均为开源且可免费商用: - **yt-dlp**: Unlicense许可证 (公共域) - **FFmpeg**: LGPL/GPL许可证 (开源) - **Python标准库**: Python Software Foundation License - **项目代码**: MIT许可证 ## ⚠️ 免责声明 本工具仅供学习和个人使用,请遵守相关平台的服务条款和版权法律。用户应对下载内容的合法性负责。 ## 📈 更新日志 ### v2.0.0 (当前版本) - ✨ 全新美化界面设计 - 🎯 智能H.264格式优先下载 - 🔄 自动AV1到H.264格式转换 - ⚙️ 完整的图形化设置界面 - 📊 优化的视频信息显示卡片 - 🗂️ 智能文件夹分类存储 - 🎨 中文界面优化和紧凑布局 - 🛠️ 增强的错误处理和日志记录 ### v1.0.0 - 🚀 初始版本发布 - 🎥 支持多平台视频下载 - 🖥️ 基础图形用户界面 - ⚙️ 基本配置管理 - 📊 下载进度跟踪 ## 🤝 贡献 欢迎提交Issue和Pull Request来改进项目! ## 📞 支持 如果遇到问题,请: 1. 查看常见问题部分 2. 检查日志文件 3. 提交Issue并附上详细信息 --- **享受高质量的视频下载体验!** 🎉