Skip to content

Kitebells/MyDownLoader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title emoji colorFrom colorTo sdk pinned
YouTube 下载器
📺
red
blue
docker
false

YouTube 下载器

这是一个基于 Flask 的 YouTube 视频下载器,支持搜索、预览和下载 YouTube 视频。

功能特性

  • 🔍 YouTube 搜索: 直接在应用中搜索 YouTube 视频
  • 📺 视频预览: 查看视频信息、缩略图和可用格式
  • ⬇️ 视频下载: 支持多种格式和质量选择
  • 🎥 在线播放: 支持下载后在线播放视频
  • 📊 下载进度: 实时显示下载进度和速度
  • 🎛️ 格式选择: 选择不同的视频质量和格式

技术栈

  • 后端: Flask + yt-dlp
  • 前端: HTML + CSS + JavaScript
  • 部署: Docker + Gunicorn
  • 视频处理: FFmpeg + yt-dlp

在 Hugging Face Spaces 上部署

方法 1: 直接从 GitHub 部署

  1. 访问 Hugging Face Spaces
  2. 点击 "New Space"
  3. 选择 "Clone from Git"
  4. 输入此仓库的 URL
  5. 选择 "Docker" 作为 SDK
  6. 点击 "Create Space"

方法 2: 手动部署

  1. 在 Hugging Face 上创建新的 Space
  2. 选择 "Docker" 作为 SDK
  3. 将以下文件上传到 Space:
    • Dockerfile
    • requirements.txt
    • app.py
    • gunicorn.conf.py
    • pyproject.toml
    • static/ 目录
    • templates/ 目录

配置说明

应用已经预配置为在 Hugging Face Spaces 上运行:

  • 端口: 7860 (Hugging Face Spaces 标准端口)
  • 环境变量:
    • PORT: 应用端口 (默认 7860)
    • SESSION_SECRET: Flask 会话密钥
  • Docker: 使用 Python 3.11 slim 镜像
  • 依赖: FFmpeg 用于视频处理

本地开发

安装依赖

# 使用 pip
pip install -r requirements.txt

# 或使用 uv (推荐)
uv sync

运行应用

# 开发模式
python app.py

# 生产模式
gunicorn --config gunicorn.conf.py app:app

Docker 本地运行

# 构建镜像
docker build -t youtube-downloader .

# 运行容器
docker run -p 7860:7860 youtube-downloader

使用方法

  1. 搜索视频: 在搜索框中输入关键词搜索 YouTube 视频
  2. 查看详情: 点击视频标题查看详细信息和可用格式
  3. 开始下载: 选择格式后点击下载按钮
  4. 查看进度: 下载过程中可以看到实时进度
  5. 在线播放: 下载完成后可以直接在线播放

注意事项

  • 此应用仅供教育和个人使用
  • 请遵守 YouTube 的服务条款
  • 不要下载受版权保护的内容
  • 在 Hugging Face Spaces 上,存储空间有限,定期清理下载文件

技术细节

Docker 配置

  • 基于 python:3.11-slim 镜像
  • 安装 FFmpeg 用于视频处理
  • 使用 Gunicorn 作为 WSGI 服务器
  • 支持视频流媒体和范围请求

应用架构

  • Flask: Web 框架
  • yt-dlp: YouTube 视频下载库
  • Gunicorn: WSGI HTTP 服务器
  • 多线程: 支持并发下载

安全性

  • 使用环境变量管理敏感配置
  • 文件上传路径验证
  • 会话管理和 CSRF 保护

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

支持

如果您在使用过程中遇到问题,请创建 Issue 或联系维护者。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published