TikTok 用 yt-dlp コマンドジェネレーター
TikTok の 1 本の動画、あるいはクリエイターのプロフィール全体向けに yt-dlp コマンドを組み立てます。ファイル名も読める形に保ちます。
TikTok での注意点
TikTok のタイトルはキャプションの 1 行目なので、ファイル名がとても長く、多くの場合使いものになりません。ここのプリセットは投稿者と id でファイル名を付けます —— 並べ替えができて、名前がぶつかることもありません。
ウォーターマークなしのストリームがあるかどうかは動画と地域で変わります。ないと決めつける前に、-F を付けて実際に何があるか確認してください。非公開やフォロワー限定の投稿には、それを見られるアカウントの cookies が必要です。
TikTok はもう縦型動画だけの場ではありません。写真モードの投稿とスライドショーも同じ形の URL で配信され、yt-dlp は複数項目のものを再生リストとして扱います —— スライド 1 枚が 1 項目、付随する音声は(あれば)別の音声項目に。これはプラットフォームの仕様であって失敗ではなく、スライドショーを 1 ファイルに戻して統合するオプションは存在しません。「画像しかダウンロードしない」ように見えるコマンドは、実際には投稿の中身をそのままダウンロードしています。
プロフィール URL —— tiktok.com/@handle —— はそのアカウントの動画をすべてダウンロードします。ページ送りで続くので、投稿量の多いクリエイターでは長い実行になります。いいねと保存のタブはそのアカウント本人にしか見えないので、ここはログイン済みセッションの cookies が必要です。再生リスト全体の扱いに、記録ファイルと「エラーでも続行」を組み合わせてください。投稿量の多いアカウントには削除済みの投稿が少なくとも 1 つあり、その 2 つのオプションがなければ、削除された 1 投稿が残りの千本を止めます。
TikTok は攻撃的に速度制限をかけます。速く始まってその後這うように遅くなるダウンロード、途中で 403 で死ぬダウンロードは、たいてい壊れた extractor ではなくレート制限です —— 速度制限を付け、並列 fragment の数を下げ、繰り返す実行は間隔を空けてください。ログイン済みセッションの cookies は天井をかなり引き上げます。大勢が同時に使っている VPN の出口は、制限を悪化させがちで好転させません。リクエストを送る前から、その IP はすでに疑わしいのです。
音声なら、-x はどこでもそうであるように TikTok の音源を取り出し、映像はまるごと省きます。動画の「オリジナル音源」は専用ページを持つ別の項目なので、他人の投稿で聞いた曲は、映像なしでその音源ページから取れます。ファイル名はほとんどのプラットフォームよりここが重要です —— キャプションをタイトルにすると、2 つの投稿が同じ言葉で始まった瞬間に衝突します —— だからこそこのプリセットは投稿者と動画 id でファイル名を付けます。