yt-dlpで字幕を取得する

"<url>"にはチャンネルのurlを渡して全動画の一括DLができる

  • 投稿動画全て
    • "https://youtube.com/channel/<channel_id>/videos"
  • 配信アーカイブ全て
    • "https://youtube.com/channel/<channel_id>/streams"

手入力の字幕

--write-subsとすれば手入力の字幕を取得できる
--sub-langで言語を指定する(ちなみに"id"はインドネシア語)

zsh
yt-dlp --write-subs --sub-lang "id" \
       --skip-download --download-archive archive.txt \
       --force-write-archive --sleep-subtitles 5 \
       -o "vtt/%(id)s.%(ext)s" \
       "<url>"

自動生成された字幕

--write-auto-subsとすれば自動生成された字幕を取得できる
--sub-lang"id.orig"などとしないと自動翻訳された字幕が混ざる

zsh
yt-dlp --write-auto-subs --sub-lang "id.orig" \
       --skip-download --download-archive archive.txt \
       --force-write-archive --sleep-subtitles 5 \
       -o "vtt/%(id)s.%(ext)s" \
       "<url>"