1 頁 (共 1 頁)

Youtube下載

發表於 : 2025-11-02, 21:12
Perplexity

YouTube 的影片下載功能在官方平台上受到限制,也不建議使用第三方工具隨意下載受版權保護的內容。不過,如果你想要下載自己的上傳影片,或者需要用於學術教學等合規用途,可以考慮以下方法:

  1. 官方下載方法(YouTube Premium 會員)

    • 開啟 YouTube App,登入帳號後,在想要的影片下方點選「下載」按鈕,選擇畫質即可離線觀看(只限於 App 內,非檔案儲存)。
  2. 下載自己的上傳影片

    • 前往 YouTube Studio(https://studio.youtube.com
    • 左側選單選「內容」
    • 選擇一部自己的影片,點三點「更多動作」→「下載」
  3. 第三方下載工具(請留意合法與版權)

    • 常見例如 y2mate、4K Video Downloader、yt-dlp(指令列工具)、ClipConverter 這類網站或桌面/手機應用程式。
    • 使用時請注意不要下載未經授權之版權影片,否則可能違反 YouTube 條款與著作權法。

指令列下載(適合技術使用者)
推薦開源工具 yt-dlp(比 youtube-dl 更新,跨平台):

代碼: 選擇全部

yt-dlp [YouTube影片網址]
  • 需要先安裝 Python 與 yt-dlp。
  • 例如:

    代碼: 選擇全部

    yt-dlp https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • 支援自訂格式、音訊分離、字幕下載等進階功能。

安裝 yt-dlp(以 Linux/Mac 為例):

代碼: 選擇全部

pip install -U yt-dlp

或以 Windows 執行檔直接下載官方exe。

注意事項

  • 請遵守 YouTube 服務條款與相關著作權規範。
  • 許多第三方下載網站含有廣告或潛在惡意軟體,謹慎使用。

如需詳細 yt-dlp 指令寫法或對 ClipConverter、4K Video Downloader 等圖形介面工具有疑問,請告知你的需求(例如:只要聲音/字幕、需要某畫質、批次下載等),我可給你專屬範例或教學。


Re: Youtube下載

發表於 : 2025-12-02, 16:58
貝克街主人

@AI_Helper yt-dlp完整用法(請附範例說明)


Re: Youtube下載

發表於 : 2025-12-02, 16:59
AI_Helper
貝克街主人 寫:

yt-dlp完整用法(請附範例說明)

好的,這是一份使用 phpBB bbcode 格式編寫的 yt-dlp 完整用法教學,涵蓋了從基礎到進階的各種情境,並附有詳細的範例說明。

yt-dlp 完整用法教學 (附詳細範例說明)

yt-dlpyoutube-dl 的一個分支,目前是社群中最活躍、功能最強大的影音下載工具。它支援數百個網站,不僅僅是 YouTube。本教學將引導您掌握其核心用法。

本文大綱

  1. 安裝 yt-dlp 與 FFmpeg

  2. 基本用法

  3. 核心常用參數詳解

    1. 選擇影片/音訊格式 (-F, -f)

    2. 僅下載音訊 (-x)

    3. 處理播放清單

    4. 下載字幕

    5. 自訂輸出檔名與路徑 (-o)

    6. 其他實用參數

  4. 綜合應用範例

  5. 使用設定檔 (yt-dlp.conf)


1. 安裝 yt-dlp 與 FFmpeg

yt-dlp 本身是主程式,而 FFmpeg 是用於合併影片和音訊、轉換格式的必要工具。建議兩者都安裝。

  • Windows 使用者:

    1. 前往 yt-dlp GitHub Releases 頁面,下載 yt-dlp.exe

    2. 前往 FFmpeg 官網,下載 Windows 版本 (通常來自 gyan.dev 或 BtbN)。

    3. yt-dlp.exeffmpeg.exe (位於 FFmpeg 解壓縮後的 bin 資料夾內) 放在同一個資料夾,或將它們所在的資料夾路徑加入到系統的環境變數 PATH 中,以便在任何地方都能執行。

  • macOS / Linux 使用者 (推薦使用 pip):
    首先確保您已安裝 Python 和 pip。

    代碼: 選擇全部

    pip install -U yt-dlp

    安裝 FFmpeg:

    代碼: 選擇全部

    # macOS (使用 Homebrew)
    brew install ffmpeg
    
    # Debian/Ubuntu
    sudo apt update && sudo apt install ffmpeg
    
    # Arch Linux
    sudo pacman -S ffmpeg

2. 基本用法

最簡單的用法就是直接在後面接上影片網址。

代碼: 選擇全部

yt-dlp "影片的網址"

範例:

代碼: 選擇全部

yt-dlp "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

這會自動下載該網址中預設最高畫質的影片+音訊合併檔。


3. 核心常用參數詳解

a. 選擇影片/音訊格式 (-F, -f)

現代影音網站 (如 YouTube) 的高畫質影片通常是影像軌和音訊軌分離的,需要分別下載再合併。

  1. 查詢所有可用格式 (-F):
    使用 -F 參數可以列出該影片所有可用的格式。

    代碼: 選擇全部

    yt-dlp -F "影片網址"

    輸出範例:

    代碼: 選擇全部

    ID  EXT   RESOLUTION FPS CH │ FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
    ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    ...
    248 webm  1920x1080   30    │ ~689.01MiB 2015k m3u8  │ vp9_2           2015k video only
    137 mp4   1920x1080   30    │ ~  1.15GiB 3371k m3u8  │ avc1.640028     3371k video only
    ...
    251 webm  audio only        2 │ ~ 11.23MiB  130k m3u8  │ opus            130k 48000Hz audio only
    140 m4a   audio only        2 │ ~ 11.03MiB  128k m3u8  │ mp4a.40.2       128k 44100Hz audio only
    22  mp4   1280x720    30  2 │ ~411.75MiB 1204k https │ avc1.64001F     1204k mp4a.40.2  192k 44100Hz (best)
    

    說明:

    • 最左邊的 ID 是格式代碼。

    • EXT 是副檔名。

    • RESOLUTION 是解析度。

    • video onlyaudio only 分別表示只有影像或只有音訊。

    • ID 22 這種沒有 only 標示的,是預先合併好的檔案,但畫質通常不是最高的 (最高到 720p)。

  2. 指定格式下載 (-f):
    使用 -f 加上格式的 ID 來下載。

    • 下載特定 ID (例如 720p 的 MP4 影片):

      代碼: 選擇全部

      yt-dlp -f 22 "影片網址"
    • 下載最佳畫質影像 + 最佳音質音訊 (yt-dlp 會自動合併):
      這是最推薦的高畫質下載方式。

      代碼: 選擇全部

      yt-dlp -f "bestvideo+bestaudio/best" "影片網址"

      (說明: bestvideo 指最佳影像,bestaudio 指最佳音訊,用 + 號組合。/best 是備用選項,如果沒有分離的軌道,就下載預設最好的那個)

    • 下載特定解析度的影像 + 最佳音訊:

      代碼: 選擇全部

      yt-dlp -f "bestvideo[height<=1080]+bestaudio/best" "影片網址"

      (說明: [height<=1080] 表示選擇解析度高度小於等於 1080p 的最佳影像)

b. 僅下載音訊 (-x)

如果你只想儲存音樂或演講,這是最常用的功能。

代碼: 選擇全部

yt-dlp -x --audio-format mp3 "影片網址"
  • -x--extract-audio: 提取音訊。

  • --audio-format <格式>: 指定音訊格式,常用 mp3, m4a, wav, flac

  • --audio-quality <品質>: 指定音訊品質,0 最好,9 最差 (預設是 5)。MP3 建議用 0

    代碼: 選擇全部

    yt-dlp -x --audio-format mp3 --audio-quality 0 "影片網址"

c. 處理播放清單

yt-dlp 預設會下載整個播放清單。

代碼: 選擇全部

yt-dlp "播放清單網址"
  • --playlist-items <編號>: 下載清單中的特定項目。

    代碼: 選擇全部

    # 下載第 1, 3, 5 到 8 個影片
    yt-dlp --playlist-items 1,3,5-8 "播放清單網址"
  • --no-playlist: 如果你傳入一個播放清單網址,但只想下載其中的單一影片本身,使用此參數。

    代碼: 選擇全部

    yt-dlp --no-playlist "包含在播放清單中的影片網址"

d. 下載字幕

  1. 查詢可用字幕 (--list-subs):

    代碼: 選擇全部

    yt-dlp --list-subs "影片網址"

    輸出範例:

    代碼: 選擇全部

    Language Name                      Formats
    en       English                   vtt, ttml, srv3, srv2, srv1, json3
    zh-Hant  Chinese (Traditional)     vtt, ttml, srv3, srv2, srv1, json3
    zh-Hans  Chinese (Simplified)      vtt, ttml, srv3, srv2, srv1, json3
    
  2. 下載字幕 (--write-subs, --sub-lang):
    下載所有可用的字幕。

    代碼: 選擇全部

    yt-dlp --write-subs "影片網址"

    只下載特定語言的字幕 (推薦)。

    代碼: 選擇全部

    # 優先下載繁體中文,如果沒有,則下載英文
    yt-dlp --write-subs --sub-lang "zh-Hant,en" "影片網址"
  3. 嵌入字幕 (--embed-subs):
    如果下載的影片格式支援 (如 MP4, MKV),可以將字幕直接嵌入影片檔中。

    代碼: 選擇全部

    yt-dlp -f "bestvideo+bestaudio/best" --embed-subs --sub-lang "zh-Hant" "影片網址"

e. 自訂輸出檔名與路徑 (-o)

使用 -o 參數可以完全控制檔案的儲存路徑和名稱。

代碼: 選擇全部

yt-dlp -o "~/Downloads/%(title)s.%(ext)s" "影片網址"

常用變數:

  • %(title)s: 影片標題

  • %(id)s: 影片 ID

  • %(uploader)s: 上傳者名稱

  • %(upload_date)s: 上傳日期 (YYYYMMDD)

  • %(playlist)s: 播放清單標題

  • %(playlist_index)s: 影片在清單中的編號

  • %(ext)s: 副檔名

範例:

代碼: 選擇全部

# 將影片存到 "下載/頻道名稱" 資料夾,檔名為 "上傳日期 - 影片標題.副檔名"
yt-dlp -o "~/Downloads/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s" "影片網址"

f. 其他實用參數

  • --embed-thumbnail: 將影片封面圖嵌入到音訊檔中 (下載 MP3 時極為好用)。

  • --add-metadata: 將影片標題、作者等資訊寫入檔案中。

  • -r, --limit-rate <速率>: 限制下載速度,避免佔滿頻寬 (例如 -r 1M 表示限制為 1MB/s)。

  • --download-archive <檔案路徑>: 紀錄已下載過的影片 ID 到一個檔案中,下次執行時會自動跳過這些已下載的影片,適合用於追蹤更新。

    代碼: 選擇全部

    yt-dlp --download-archive my_archive.txt "頻道或播放清單網址"

4. 綜合應用範例

範例 1: 下載最高畫質 (1080p) 的 YouTube 影片,並嵌入繁中字幕和封面圖

代碼: 選擇全部

yt-dlp -f "bestvideo[height<=1080]+bestaudio/best" --merge-output-format mp4 --embed-subs --sub-lang "zh-Hant" --embed-thumbnail -o "%(title)s.%(ext)s" "影片網址"

拆解說明:

  • -f "bestvideo[height<=1080]+bestaudio/best": 選擇 1080p 或以下的最佳影像 + 最佳音訊。

  • --merge-output-format mp4: 合併後的影片格式為 MP4。

  • --embed-subs --sub-lang "zh-Hant": 嵌入繁體中文字幕。

  • --embed-thumbnail: 嵌入封面圖。

  • -o "%(title)s.%(ext)s": 檔名設為影片標題。

範例 2: 下載整個播放清單,轉成高品質 MP3,並將封面圖、標題等資訊寫入檔案

代碼: 選擇全部

yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --add-metadata -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "播放清單網址"

拆解說明:

  • -x --audio-format mp3 --audio-quality 0: 提取音訊,轉為最高品質 MP3。

  • --embed-thumbnail --add-metadata: 嵌入封面和元數據。

  • -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s": 在以播放清單命名的資料夾中,建立 "編號 - 標題.mp3" 格式的檔案。


5. 使用設定檔 (yt-dlp.conf)

如果你每次下載都使用幾乎相同的參數,可以建立一個設定檔,一勞永逸。

設定檔位置:

  • Linux/macOS: ~/.config/yt-dlp/config/etc/yt-dlp.conf

  • Windows: %APPDATA%\yt-dlp\config.txt

範例 config 檔內容:

代碼: 選擇全部

# 這是一個註解
# 預設下載 1080p 影片,合併為 mkv 格式
-f "bestvideo[height<=1080]+bestaudio/best"
--merge-output-format mkv

# 總是嵌入字幕和封面
--embed-subs
--sub-lang "zh-Hant,en"
--embed-thumbnail

# 總是寫入元數據
--add-metadata

# 限制下載速度為 5MB/s
-r 5M

# 使用下載紀錄檔
--download-archive ~/.config/yt-dlp/archive.txt

# 預設輸出路徑與檔名格式
-o "~/Videos/%(uploader)s/%(title)s [%(id)s].%(ext)s"

設定好之後,你只需要執行最簡單的命令,yt-dlp 就會自動套用這些設定:

代碼: 選擇全部

yt-dlp "影片網址"

yt-dlp 的功能遠不止於此,但掌握以上這些核心用法,已經能滿足 99% 的日常需求。如果需要更進階的功能,請查閱 官方文件