Skip to content

TWskeletonTW/video-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

影片下載器(Video Downloader)

使用 Python + Tkinter 製作的桌面 GUI 影片下載器,以 yt-dlp 為下載核心、ffmpeg 為轉檔引擎,支援單一影片與播放清單,並能轉成高相容性的 H.264 MP4 與多種音訊格式。

Python Platform License


功能特色

  • 單一影片 / 播放清單下載:自動辨識,播放清單會建立專屬資料夾並補零命名(001 - title.mp4)。
  • MP4 影片模式:下載最高解析度來源,再轉成相容性高的 H.264 MP4(強制 8-bit 4:2:0,避免 10-bit 來源在舊裝置無法播放)。
  • 多種音訊格式:MP3 320kbps、WAV(無損 PCM)、ALAC(無損容器,可嵌入縮圖)。
  • H.264 硬體加速偵測:自動偵測並使用 NVENC(NVIDIA)/Quick Sync(Intel)/AMF(AMD),不可用時退回 libx264
  • 即時進度顯示:下載速度、剩餘時間、轉檔進度一目了然。
  • 影片資訊預覽:縮圖、標題、頻道、長度、解析度、最高可用畫質與音訊格式。
  • 可隨時取消:下載與轉檔皆可中斷,並安全清理暫存檔。
  • 自動產生下載紀錄:完成後輸出含成功/失敗明細的詳細紀錄檔。
  • 穩健的工程細節:背景執行緒不直接操作 UI、Windows 保留檔名處理、異常中斷後自動清理暫存轉檔檔。

螢幕截圖

程式畫面

技術架構

項目 使用技術
GUI Tkinter / ttk
下載核心 yt-dlp
轉檔 / 媒體檢測 ffmpeg / ffprobe
縮圖處理 Pillow + requests

環境需求

  • Python 3.10 以上
  • ffmpegffprobe(放在程式同資料夾,或安裝到系統 PATH)

安裝 Python 套件:

pip install -r requirements.txt

執行方式

python downloader.py

首次使用請確認 ffmpeg / ffprobe 可被找到,否則轉檔功能無法使用。程式啟動時會在 console 印出環境摘要(Python、yt-dlp、ffmpeg 版本與磁碟空間)。

打包成 .exe(選用)

使用 PyInstaller

pyinstaller --onefile --windowed --icon=app.ico downloader.py

ffmpeg.exe / ffprobe.exe 可放在執行檔旁,程式會透過 resource_path() 找到打包後的資源。

專案結構

downloader.py      主程式(單檔 GUI 應用)
requirements.txt   Python 套件需求
README.md          專案說明(本檔)
LICENSE            MIT 授權

授權

本專案採用 MIT License 授權。

免責聲明

本工具僅供個人學習與備份個人擁有或已獲授權之內容使用。請遵守各影音平台的服務條款與當地著作權法規,使用者需自行為其使用行為負責。

About

Python + Tkinter desktop video downloader powered by yt-dlp & ffmpeg

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages