CLIツール
yt-dlp/yt-dlp avatar
yt-dlp/yt-dlp

yt-dlpを運用する:取得、形式選択、更新を分けて設計するCLI

機能豊富なコマンドラインのオーディオ/ビデオ ダウンローダー

スター 191,377フォーク 16,615PythonUnlicense

ひと目でわかる

これは何?
yt-dlpの対応範囲、配布形式、依存関係、出力テンプレート、後処理、プラグインとライセンスを実務の順序で整理する。
誰に向いている?
yt-dlpは、多数のサイトから音声や動画を取得し、形式選択や後処理をコマンドラインで細かく管理したい利用者に向くツールです。対応サイト数やオプションの多さは強みですが、サイト側の変更、利用規約、認証情報、依存プログラム、配布バイナリのライセンスを利用者が管理します。
商用利用できる?
できます。Unlicense は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 16 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

youtube-dlから広がった取得ツール

yt-dlpは、コマンドラインから音声や動画を取得するための機能豊富なPythonプログラムです。READMEでは数千のサイトを対象にできると説明され、youtube-dlから分岐し、現在は活動していないyoutube-dlcを基にしたプロジェクトだと記載されています。URLを指定し、取得対象を選び、ファイル名や形式を決める作業を端末から再現できます。

ここでの対応サイト数は、プロジェクトが掲げる範囲であり、すべてのページが同じ条件で取得できることを意味しません。サイトの仕様変更、地域制限、ログイン、動画の暗号化、配信者の設定に左右されます。利用者は、技術的に取得できるかとは別に、対象コンテンツを保存してよいか、再配布してよいかを確認する必要があります。人気や更新頻度だけで、権利や規約の問題が解決するわけではありません。

配布ファイルと環境の選び方

インストール経路は、公式リリースのバイナリ、pip、サードパーティのパッケージマネージャーです。推奨ファイルには、LinuxやBSD向けのPythonを使うzipimportバイナリ、Windows 8以降のx64スタンドアロン版、macOS 10.15以降のユニバーサル実行ファイルが含まれます。Linuxのglibcやmusl、x86_64、aarch64、Windowsのx86やARM64向けの別ファイルも案内されています。

選択はOS名だけでなく、自動更新の有無、Pythonの存在、CPUアーキテクチャ、配布元の検証方法で決めます。READMEにはチェックサムとGPG署名の確認方法、公開鍵、ソースtarballへの導線もあります。自動化で使う場合は、取得したファイルの版、ハッシュ、実行環境を記録し、最新版URLを毎回直接使う構成を避けます。更新前後に同じURLと同じ選択条件で結果を比較できる形にすると、サイト側の変化とツールの変化を切り分けやすくなります。

stable、nightly、masterの更新差

バイナリの更新チャンネルはstable、nightly、masterの三つです。stableが既定で、ほぼ毎月リリースされる一方、サイトの変更によって古くなり、取得が壊れる可能性があるとREADMEは説明しています。nightlyはコード変更がある日に公開され、一般利用者へ推奨されています。masterはpushごとに公開されるカナリアの位置付けです。

-Uや--updateで現在のチャンネルの最新版へ更新し、--update-toでチャンネルや特定タグへ切り替えられます。90日以上古い版には更新警告が出ます。頻繁な更新は対応サイトの変化に追随する助けになりますが、取得結果やオプションの挙動が変わるリスクもあります。自動更新を本番処理に直結させず、まず検証環境で代表サイト、認証、形式、字幕、メタデータを比較し、問題がない版を固定する運用が必要です。

ffmpegとJavaScript実行環境の役割

yt-dlpの主な依存関係は任意ですが、音声と動画の結合や後処理にはffmpegとffprobeが強く推奨されています。YouTubeを完全に扱うためには、JavaScript部品のyt-dlp-ejsと、deno、node、bun、QuickJSなどのJavaScriptランタイムも強く推奨されています。追加依存を入れたときは、yt-dlp本体だけを更新しても全体が同じ状態になるとは限りません。

Brotli、websockets、HTTPSプロキシ、curl_cffiによるブラウザ偽装、mutagenやAtomicParsleyによるメタデータ処理なども選択肢として案内されています。これらは機能を広げますが、環境差と設定差も増やします。依存プログラムの版と実行パスをログへ残し、音声結合、字幕、サムネイル、メタデータの各工程を別々に確認してください。依存が欠けると警告が出るという説明を、処理が期待どおり完了した証拠とは扱わない判断が必要です。

URL取得を条件付きの処理へ変える

基本形はyt-dlp [OPTIONS] URLです。READMEは一般、ネットワーク、地域制限、動画選択、ダウンロード、ファイルシステム、サムネイル、字幕、認証、後処理、抽出器など、オプションを多くのカテゴリに分けています。プレイリスト内の対象を--playlist-itemsで選び、--match-filtersで投稿日や評価などのフィールドを絞り、--download-sectionsで特定チャプターを指定する例があります。

自動処理では、URLを渡せば保存できるという一行のスクリプトから始めないことが重要です。対象URL、取得してよい利用者、保存先、ファイル名、失敗時の再試行、ログ、重複判定を先に決めます。ログインが必要ならnetrcや設定ファイルの権限を点検し、認証情報をコマンド履歴や共有ログへ出さないようにします。地域制限や回避策のオプションは、規約や権利者の条件を確認したうえで、許可された用途だけに使います。

形式選択と保存後の加工

出力テンプレートは、動画から得たフィールドを使ってファイル名を組み立てます。形式選択では、解像度やコーデックなどの条件で候補を絞り、優先順を並べられます。info JSON、サムネイル、コメントを保存するオプション、メタデータを変更する機能、SponsorBlockの区間を除く処理もREADMEの機能群に含まれています。

取得と後処理を一つの成功扱いにしない設計が向いています。まず元の映像や音声が保存されたかを確認し、次にffmpegによる結合や変換が終わったか、最後にファイル名、タグ、サムネイル、字幕が期待どおりかを点検します。出力テンプレートに使う項目がサイトごとに存在しない場合もあるため、空欄や禁止文字の処理を決めておきます。変換後だけを残す場合でも、元ファイルを削除する前に再生確認とハッシュ保存を行うと、後から原因を追跡できます。

プラグインと埋め込みの公開境界

抽出器の集合を広げるプラグインについて、READMEはインストールと開発の案内を置いています。プラグインは取得対象を増やす手段ですが、追加コードの出所、更新経路、依存ライセンス、実行権限を本体と分けて確認してください。信頼できないプラグインを自動更新で読み込む構成は、保存先や認証情報への影響を調査してから採用します。

yt-dlpをPythonへ埋め込む方法とプログラム利用例も説明されています。ただし、CLIで手動実行できることと、アプリケーションから安定したライブラリAPIとして使えることは同じではありません。エラー、ログ、タイムアウト、プロセス停止、サイトごとの返り値を自分の境界で扱う必要があります。リポジトリのライセンスはUnlicenseですが、配布バイナリにはGPLv3+、ISC、MITなどの第三者コードが含まれる場合があります。使う形態ごとにLICENSEと同梱部品の条件を確認してください。

リリース版を固定する判断

リリース一覧には2026年8月19日公開の2026.08.19が掲載されています。日付と版は、取得結果を再現するための識別子です。最新であることだけを理由に更新せず、現在使っているstableやnightly、Python、ffmpeg、JavaScript実行環境をまとめて記録します。サイト側の変更で古い版が動かなくなる場合も、まず許可範囲と新旧ログを確認し、対象サイト単位の設定を修正します。

採用前には、固定した代表URLで形式、字幕、認証、プレイリスト、地域条件、後処理を試し、失敗時に部分ファイルや秘密情報が残らないかを確認します。取得したメディアの保存期間、アクセス権、再配布の条件も運用文書へ書きます。yt-dlpは柔軟なCLIであり、権利確認、コンテンツの真偽、保管ポリシー、更新承認を代行するサービスではありません。

編集部の結論

yt-dlpは、多数のサイトから音声や動画を取得し、形式選択や後処理をコマンドラインで細かく管理したい利用者に向くツールです。対応サイト数やオプションの多さは強みですが、サイト側の変更、利用規約、認証情報、依存プログラム、配布バイナリのライセンスを利用者が管理します。導入前に許可されたURLと用途を定め、固定した版で取得、検証、保存、更新を順に試してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート