Skip to content

johnnyisme/ytClip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

方法 1: 使用虛擬環境的 Python

/Users/al02405465/Development/AI-workshop/ytvdoClip/.venv/bin/python clip_youtube.py "YouTube網址" -s 01:30 -e 02:45

方法 2: 啟動虛擬環境後使用 (建議)

source .venv/bin/activate python clip_youtube.py "YouTube網址" -s 01:30 -e 02:45# YouTube Video Clipper 🎬

一個簡單的 CLI 工具,可以下載 YouTube 影片的指定片段到本機。

功能特色

✅ 支援指定開始和結束時間下載影片片段
✅ 多種時間格式支援 (HH:MM:SS, MM:SS, 或秒數)
✅ 自動命名避免檔案衝突
✅ 使用 yt-dlp 和 FFmpeg 高效處理

安裝步驟

1. 安裝 FFmpeg

macOS:

brew install ffmpeg

Ubuntu/Debian:

sudo apt update
sudo apt install ffmpeg

Windows:FFmpeg 官網 下載並安裝

2. 安裝 Python 套件

# 建議使用虛擬環境
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安裝依賴
pip install -r requirements.txt

使用方式

基本用法

python clip_youtube.py "YOUTUBE_URL" -s START_TIME -e END_TIME

範例

使用 MM:SS 格式:

python clip_youtube.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -s 01:30 -e 02:45

使用秒數:

python clip_youtube.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -s 90 -e 165

使用 HH:MM:SS 格式並指定輸出目錄:

python clip_youtube.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -s 00:01:30 -e 00:02:45 -o my_clips

參數說明

  • URL: YouTube 影片網址 (必填)
  • -s, --start: 開始時間 (必填)
  • -e, --end: 結束時間 (必填)
  • -o, --output: 輸出目錄 (選填,預設: downloads)
  • -q, --quality: 影片品質 (選填,預設: best)

時間格式

支援以下三種格式:

  • HH:MM:SS - 例如: 01:30:45
  • MM:SS - 例如: 01:30
  • 秒數 - 例如: 90

最小成本運營與部署方案 💰

方案 1: 本機 CLI 工具 (推薦) - 完全免費

優點:

  • ✅ 零成本
  • ✅ 無需伺服器
  • ✅ 完全控制,無隱私疑慮
  • ✅ 處理速度快

缺點:

  • ❌ 需要在本機安裝依賴
  • ❌ 無法遠端使用

適用情境: 個人使用、頻繁下載、注重隱私


方案 2: 簡易 Web 版 + 免費雲端部署 - 免費 (有限制)

可選擇的免費平台:

A. Render (推薦)

  • 免費額度: 750 小時/月
  • 限制: 15 分鐘無活動會休眠
  • 部署: 支援 Docker
  • 適合: 輕量使用

B. Railway

  • 免費額度: $5 credit/月
  • 限制: 用完額度需付費
  • 部署: 簡單易用
  • 適合: 測試階段

C. Fly.io

  • 免費額度: 3GB 儲存空間
  • 限制: 需要信用卡驗證
  • 部署: 支援全球邊緣節點
  • 適合: 低流量應用

注意事項:

  • YouTube 下載較耗資源,免費方案可能有性能限制
  • 需考慮儲存空間 (建議下載後立即串流給用戶,不保存在伺服器)
  • 部分平台禁止 YouTube 下載服務

方案 3: 本機 + Docker 容器化 - 免費

建立 Docker 容器,隨時啟動使用:

FROM python:3.11-slim

RUN apt-get update && apt-get install -y ffmpeg

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

COPY clip_youtube.py .

ENTRYPOINT ["python", "clip_youtube.py"]

使用方式:

docker build -t youtube-clipper .
docker run -v $(pwd)/downloads:/app/downloads youtube-clipper "URL" -s 01:30 -e 02:45

方案 4: GitHub Actions (自動化) - 免費

適合定期下載特定內容:

  • 利用 GitHub Actions 的免費額度
  • 每月 2000 分鐘免費運算時間
  • 可設定排程自動執行

建議配置

輕量個人使用:
方案 1 (本機 CLI)

偶爾使用 + 多裝置存取:
方案 2A (Render 免費部署)

需要容器化/隔離環境:
方案 3 (Docker)

定期自動化下載:
方案 4 (GitHub Actions)

注意事項 ⚠️

  • 請遵守 YouTube 服務條款
  • 下載的內容僅供個人使用
  • 注意版權問題,勿用於商業用途
  • 部分地區可能有網路限制

技術架構

  • yt-dlp: YouTube 影片下載
  • FFmpeg: 影片剪輯
  • Click: CLI 介面

License

MIT

貢獻

歡迎提交 Issue 或 Pull Request!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors