yt-dlp オプション一覧及びそのメモ

youtube-dlの開発が止まっておりfork版のyt-dlpに移る事にした。yt-dlpyoutube-dlのforkであるyoutube-dlcのそのまたforkになる。オリジナルであるyoutube-dlのオプション解説はyoutube-dl オプション一覧及びそのメモ

  • 2022/06/19更新
  • 2022/09/06更新


OPTIONS

-h, --help
ヘルプを表示する。
--version
プログラムのVerを表示する。
-U, --update
--no-update (default)
プログラムのupdateを実行するかどうか。
-i, --ignore-errors
ダウンロードエラーを無視する。プレイリストごとダウンロードするような時に使う。エラーで失敗してもダウンロードは成功したとみなされる。
--no-abort-on-error (default)
--abort-on-error, --no-ignore-errors
ダウンロードエラー発生時に処理を中止するかどうか。--ignore-errorsは成功したとみなすが--no-abort-on-errorはスキップするだけ。
--dump-user-agent
userAgentを表示する。
--list-extractors
extractor一覧を表示する。
--extractor-descriptions
extractor一覧を説明付きで表示する。が、説明なしの物が殆ど。
--force-generic-extractor 非推奨
汎用extractorでのダウンロードを強制する。
--use-extractors NAMES 追加
エイリアスは--ies。カンマで区切ったextractor名、all、default、endあるいは正規表現を指定する。なおendはURLマッチング。「-」を付けて除外する事も出来る。

--ies "holodex.*,end,youtube"
--ies default,-generic

--default-search PREFIX
URLでない値をURLとして与えられた場合の処理方法。"auto"を指定したらyt-dlpが適当に推測して処理しようとするが大抵巧くいかない。「error」を指定したらただエラーを返すだけ。「auto_warning」は推測時に警告を出す。「fixup_error」を指定したらURLとして与えられた引数を修正しようとするが巧くいかなかったらやっぱりエラーを返す。「gvsearch2:python」だとGoogleの「python」での動画検索結果から2つをダウンロードする。
--ignore-config, --no-config
--config-locationで指定された設定ファイル以外を無視する。設定ファイル内で指定された場合はそれ以上の設定ファイルのロードを無視する。
--config-location PATH
設定ファイルもしくはフォルダPATHを指定する。
--no-config-locations (default)
--ignore-configは--config-location以外の設定ファイルを無視するがこちらは全ての設定ファイルを無視する。設定ファイル内で指定された場合は他の設定ファイルを無視する。
--flat-playlist
--no-flat-playlist
プレイリスト展開をするかどうか。
--live-from-start 実験的
--no-live-from-start (default)
live streamダウンロードのスタートを放送開始時からにするかどうか。--live-from-startはYouTubeのみのサポート。
--wait-for-video MIN[-MAX]
--no-wait-for-video (default)
たぶんlive streamの予約ダウンロードの待機中の再試行間の秒数、MAXも同時に指定した場合は範囲。範囲で指定したらどうなるのかいまいち分からないが。
--mark-watched
--no-mark-watched (default)
要するに再生履歴に残すか残さないかの事。当然ユーザ名パスワードを一緒に指定しないと意味ない。
--no-color
出力にカラーコードを生成しない。
--compat-options OPTS
yt-dlpでの各オプションのデフォルト動作の違いを元に戻す。
--alias ALIASES OPTIONS
オプション文字列のエイリアスを作成する。エイリアスが「-」で始まってない場合は「--」を追加する。エイリアスオプションの引数はPythonの文字列フォーマットに従ってパースされる。

--alias get-audio,-X "-S=aext:{0},abr -x --audio-format {0}

を例にとるとまず「--get-audio」と「-X」オプションを作成し{0}に引数を展開する。
とまあ長々と書いたがexe版だとそんなオプションねーですと言われる。Python版はいざ知らずexe版はまだ実装されてないらしい。

Network Options

--proxy URL
プロキシを設定する。HTTP/HTTPS及びSOCKS。SOCKSは

socks5://user:pass@127.0.0.1:1080/

のような感じで指定する。

--socket-timeout SECONDS
タイムアウトの秒数を指定。単位は秒。
--source-address IP
恐らくはクライアント側からのパケットのソースアドレス偽装。つまり--proxyと似たような機能だろう。公式の説明がシンプル過ぎて推測でしかないが。
-4, --force-ipv4
-6, --force-ipv6
IPv4, IPv6を強制それぞれ強制

Geo Restriction

--geo-verification-proxy URL
--proxyと違うのはサイトへのアクセス時のみの適用で動画のダウンロード時は未適用と言う点。ChinaのProxyは回線が不安定な物が多いのでそういうときはこれを使う。
--geo-bypass (default)
--no-geo-bypass
X-Forwarded-Forヘッダ偽装による地域制限回避をするかしないか。
--geo-bypass-country CODE
ISO 3166-2で規定されたコードを指定して地域制限を回避する。
--geo-bypass-ip-block IP_BLOCK
CIDR表記で指定されたIPレンジを地域制限を回避する。

Video Selection

--playlist-start NUMBER 冗長
--playlist-end NUMBER 冗長
例えば2を指定するとプレイリスト内の2番目の動画から処理を開始もしくは処理を終える。
--I, --playlist-items ITEM_SPEC
ダウンロードする動画のプレイリストインデックスをカンマ区切りで指定する。「[START]:[STOP][:STEP]」で範囲も指定できる。STEPに負の整数を指定すると逆順となる。下位互換として「START-STOP」も有効。サイズ15のプレイリストで

-I 1:3,7,-5::2

と指定するとダウンロードされるのは「1,2,3,7,11,13,15」となる。

--match-title REGEX 冗長
--reject-title REGEX 冗長
正規表現にマッチした物をダウンロードするかもしくは除外してダウンロードする。
--max-downloads NUMBER
最大ダウンロード数を指定する。
--min-filesize SIZE
--max-filesize SIZE
最大最小ファイルサイズをそれぞれ指定する。
--date DATE
動画のアップロード日時を指定する。YYYYMMDD形式または「 [now|today|yesterday][-N[day|week|month|year]]」のようなフォーマットを指定する。

--date today-2weeks

--datebefore DATE
--dateafter DATE
指定した日時より以前もしくは以後の物をそれぞれ処理する。フォーマットは--dateと同様。
--min-views COUNT 冗長
--max-views COUNT 冗長
最大最小視聴回数をそれぞれ指定する。
--match-filter FILTER
--no-match-filter (default)
ダウンロードする動画をフィルタするかどうか。単純にfield名を指定すればそのfieldが存在するかどうか。!fieldとすれば反転。「~=」を使用してpython互換の正規表現を使用する事も出来る。

--match-filter !is_live --match-filter "like_count>?100 & description~='(?i)\bcats \& dogs\b

はis_live が存在しないつまり生放送ではない、like_countが100以上、descriptionが「\bcats & dogs\b」と一致する動画がヒットする。

--no-playlist
--yes-playlist
プレイリストを無視するかどうかのフラグ。
--age-limit YEARS
年齢制限の事。
--download-archive FILE
--no-download-archive (default)
ダウンロードした動画のIDを自動で記録するかどうか。そして記録された動画は次回実行時にダウンロードをスキップする。
--break-on-existing
--break-on-reject
ほぼ同じ機能だがexistingはarchiveにヒットしたらrejectはfilterにヒットしなかったらダウンロードを停止する。
--break-per-input
--no-break-per-input
--break-on-existing、--break-on-reject、--max-downloadsを現在のURLのみに適用する。つまりダウンロードスキップして次のURLに処理を進める。--no-break-per-inputはqueueingされたURL全体の処理を打ち切る。
--skip-playlist-after-errors N
指定されたエラー数を超えるとプレイリスト自体がスキップされる。
--include-ads 非サポート
広告もダウンロードする。

Download Options

-N, --concurrent-fragments N
fragmentの同時ダウンロード数。デフォルトは1。
-r, --limit-rate RATE
最大ダウンロード速度を指定する(例 50K, 4.2M)。
--throttled-rate RATE
最低ダウンロード速度を指定しこれを下回ると再ダウンロードする。
-R, --retries RETRIES
リトライ数を指定する。infiniteという値も一応用意されているがこんな値使うな。
--file-access-retries RETRIES
ファイルアクセスエラーの許容回数を指定する。infiniteもちゃんとあるがこれ削っていいのではなかろうか。
--fragment-retries RETRIES
fragmentのリトライ数。
--retry-sleep [TYPE:]EXPR
再試行間のsleep時間を秒で指定する。TYPEは「file_access、fragment、http」の3種類。EXPRは「linear=START[:END[:STEP=1]]」と「exp=START[:END[:BASE=2]]」の2種類。
--skip-unavailable-fragments, --no-abort-on-unavailable-fragment (default)
有効でないfragmentをskipする。
--abort-on-unavailable-fragment, --no-skip-unavailable-fragments
有効でないfragmentがあるときダウンロード処理を中断する。
--keep-fragments
--no-keep-fragments (default)
ダウンロード後fragmentを残すかどうか。
--buffer-size SIZE
ダウンロードバッファを指定する。
--resize-buffer (default)
--no-resize-buffer
ダウンロードバッファを自動調整するかどうか。
--http-chunk-size SIZE 実験的
チャンクサイズを指定する。サーバー側で指定されている帯域制限回避に役立つかもしれない。
--playlist-reverse 冗長
--no-playlist-reverse (default) 冗長
プレイリスト上の動画のダウンロード順を逆からにするかどうか。
--playlist-random
プレイリスト上の動画をランダムにダウンロードする。
---lazy-playlist
---no-lazy-playlist (default)
プレイリストをパースし終えてからプレイリスト内動画を処理するかどうか。---lazy-playlistだとたぶんパースしながら同時に動画を処理するんだろう。%(n_entries)s、--playlist-random、--playlist-reverseが無効。
--xattr-set-filesize
拡張ファイル属性に予想されるファイルサイズを書き込む。
--hls-prefer-native 非推奨
--hls-prefer-ffmpeg 非推奨
HLSの処理方法のオプション。nativeは自前で処理する。HLSというのはHttp Live Streamingの事でストリーミング配信用のプロトコル
--hls-use-mpegts
--no-hls-use-mpegts
HLSでMPEG TSを使うかどうか。
--download-sections REGEX
指定された正規表現にマッチしたtitleのchapterのみをダウンロードする。「*」で指定された時間の範囲をダウンロードする事も出来る。ただしffmpegが必要。

--download-sections "*10:15-15:00
--download-sections "intro"

また複数回使用する事が出来る。

--downloader [PROTO:]NAME, --external-downloader [PROTO:]NAME
PROTOはプロトコル。要はプロトコルごとに使用する外部ダウンローダーを指定することが出来る。PROTOで使用出来るのはhttp、 ftp、m3u8、dash、rstp、rtmp、mms。NAMEで使用できるのはnative、aria2c、avconv、axel、curlffmpeg、httpie、wget。例えば

--downloader aria2c --downloader "dash,m3u8:native"

のようにプロトコルごとに複数指定してもよい。

--downloader-args NAME:ARGS, --external-downloader-args NAME:ARGS
外部ダウンローダーに引数を渡す。エイリアスとして --external-downloader-args。

Filesystem Options

-a, --batch-file FILE
--no-batch-file
動画URLを記述したファイルを指定してまとめてダウンロードする。--no-batch-fileはbatch fileを無視する
--id 削除
ファイル名を動画IDのみとする。後述の-oと併用するとconflictで停止する。
-P, --paths [TYPES:]PATH
ファイルのダウンロード先を指定する。--outputで絶対パスが指定された時は無効となる。TYPESでファイルタイプを指定する事も出来るので-Pオプションを複数指定してタイプごとに振り分ける事も可能。サポートされているタイプはsubtitle、thumbnail、description、infojson、pl_thumbnail、pl_description、pl_infojson、chapter。homeとtempを指定する事も出来る。「temp:PATH」で指定したフォルダに一時ファイルを展開し「home:PATH」に最終ファイルを格納する。
-o, --output [TYPES:]TEMPLATE
ファイル名を指定する。TYPESの使い方は--pathsと一緒。使用できる変数は後述のOUTPUT TEMPLATEを参照。
--output-na-placeholder TEXT
OUTPUT TEMPLATEの各変数はサイトによっては当然存在しない物も多い。その時は「NA」が出力されるがこのオプションでそれを書き換えることが出来る。
--autonumber-start NUMBER 非推奨
%(autonumber)sの初期値を指定する。
--restrict-filenames
--no-restrict-filenames (default)
ファイル名をASCIIコードに制限するかどうか。
--windows-filenames
--no-windows-filenames (default)
Windows互換のファイル名に置き換える。要は駄目文字対策。--windows-filenamesは使ってるOSに関係なく実行されるが--no-windows-filenamesはWindowsの場合のみでこれがデフォルト。Windowsユーザーには関係ないオプション。
--trim-filenames LENGTH
拡張子を除いたファイル名の文字数を指定値に制限する。
-w, --no-overwrites
どんなファイルも上書きしないというオプション。
--force-overwrites
--no-force-overwrites (default)
--force-overwritesは動画とメタデータファイルを上書きし、それに対して--no-force-overwritesは動画は上書きしないがメタデータファイルは上書きする。
-c, --continue (default)
--no-continue
ダウンロードのリジュームをするかどうか。
--part (default)
--no-part
.partファイルを使わないというからメモリ上に読み込むとかそんな事かと思ったら単にpart拡張子の話。
--mtime (default)
--no-mtime
HTTPのLast-Modifiedヘッダをファイルの更新日時に使うかどうか。
--write-description
--no-write-description (default)
descriptionファイルを別途作成するかどうか。
--write-info-json
--no-write-info-json (default)
メタデータを記述したJSONファイルを別途作成するかどうか。
--write-playlist-metafiles (default)
--no-write-playlist-metafiles
--write-info-jsonや--write-descriptionを指定する場合、プレイリストのメタデータを追記するかどうか。
--clean-infojson (default)
--no-clean-infojson
JSONファイルからファイル名のようなプライベートな項目を削除する。このオプションを使ったからと言ってプライベートな項目を全て削除したとは限らない事に注意する事。
--write-comments, --get-comments
--no-write-comments, --no-get-comments
動画コメントを取得しJSONファイルに書き込む。
--write-annotations 非サポート
アノテーションxmlで作成する。
--load-info-json FILE
JSONファイルから動画情報をロードする。書き込みは--write-info-jsonで行う。
--cookies FILE
--no-cookies (default)
ファイルからcookieをロードするかどうか。
--cookies-from-browser BROWSER[+KEYRING][:PROFILE][::CONTAINER] 変更
--no-cookies-from-browser (default)
ブラウザのプロファイルからcookieを取得するかどうか。サポートしているブラウザはbrave、chromechromium、edge、firefoxoperasafarivivaldi。PROFILEにはPROFILE名またはPROFILEのPathを指定する。指定されてない場合は最後に使用されたPROFILEを使う。[+KEYRING]はLinuxChromium cookieの複合化に必要。仕様変更で[::CONTAINER]とやらも増えたがこれはfirefoxのcontainerの事。
--cache-dir DIR
キャッシュディレクトリを変更する。
--no-cache-dir
キャッシュファイルを作成しない。
--rm-cache-dir
youtube-dlの作成したキャッシュファイルを全て消す。

Thumbnail images

--write-thumbnail
--no-write-thumbnail (default)
サムネイルを作成するかどうか。
--write-all-thumbnails
サムネイルを全てのフォーマットで作成する。
--list-thumbnails 冗長
利用可能なサムネイルを表示する。

Internet Shortcut Options

--write-link
使用しているOSに応じた(.url、.webloc、.desktop)インターネットショートカットファイルを作る。しかしなんでこんな機能が必要なんだろうか。
--write-url-link
Windowsのインターネットショートカットファイルを作る。
--write-webloc-link
MacOSのインターネットショートカットファイルを作る。
--write-desktop-link
Linuxのインターネットショートカットファイルを作る。

Verbosity / Simulation Options

-q, --quiet
コマンドプロンプトにおける表示を最小限にする。別にコマンドプロンプトの起動自体を抑制する訳ではない。
--no-warnings
警告を無視する。
-s, --simulate
--no-simulate
実行のシミュレートのみにするかどうか。
--ignore-no-formats-error 実験的
--no-ignore-no-formats-error (default)
「No video formats」エラーを無視するかどうか。メタデータ取得に役立つ。
--skip-download, --no-download
動画のダウンロードを行わないが関連ファイルの書き込みは行う。
-g, --get-url 冗長
-e, --get-title 冗長
--get-id 冗長
--get-thumbnail 冗長
--get-description 冗長
--get-duration 冗長
--get-filename 冗長
--get-format 冗長
指定の物を表示するだけで実行はしない。
-O, --print [WHEN:]TEMPLATE
--quietで実行かつシミュレートするだけだがTEMPLATEで指定された動画ごとの諸情報を表示する。仕様変更で[WHEN:]が追加になった。このオプションを呼び出すタイミングを指定する。"pre_process"(動画抽出後)、"after_filter"(フィルター処理後)、"before_dl"(動画ダウンロード前)、"post_process"(動画ダウンロード後:Default)、"after_move"(動画の移動を終えた後)、"after_video"(動画の全フォーマットの処理を終えた後)、"playlist"(プレイリストの処理を終えた後)
--print-to-file [WHEN:]TEMPLATE FILE
FILEに出力するだけで--printとほぼ一緒。
-j, --dump-json 冗長
--quietで実行かつシミュレートするだけだが動画ごとの諸情報をJSON形式で表示する。しかしせめて整形ぐらいしてから表示してほしい。
-J, --dump-single-json
--quietで実行かつシミュレートするだけだがURLごとの諸情報をJSON形式で表示する。でも表示される情報は--dump-jsonと別に変らない。
--print-json 非推奨
--quietで実行かつ動画情報をJSONで表示。
--force-write-archive, --force-download-archive
シミュレート実行の場合でもエラーが起きない限りarchiveに追記する。
--newline
ダウンロードの進行状況を逐次表示。やってみれば分かる。
--progress
--no-progress
ダウンロードの進行状況を表示するかしないか。
--console-title
コンソールのタイトルバーに現在の処理内容を表示する。
--progress-template [TYPES:]TEMPLATE
ダウンロードの進行状況表示のテンプレート。TYPESは「download(Default、download-title、postprocess、postprocess-title」のいずれか。動画情報はinfoで進行状況はprogressで取得できる。

--console-title --progress-template "download-title:%(info.id)s-%(progress.eta)s"

-v, --verbose
デバッグ用の諸情報を表示する。
--dump-pages
デバッグ用にリクエスト結果をbase64エンコードして表示する。でも長過ぎてデバッグにならない。
--write-pages
デバッグ用の中間処理をカレントディレクトリ内に書き込む。公式にもカレントディレクトリと単純に書かれているが動画のダウンロードPathの事ではなく文字通りの意味でyt-dlpをscriptから呼び出しているとそのscriptのディレクトリにあったりする。
--print-traffic
HTTPトラフィックを表示する。
-C, --call-home 非サポート
--no-call-home 非サポート
デバッグ時にyoutube-dlサーバーにアクセスするかどうか。

Workarounds

--encoding ENCODING 実験的
使用する文字コードを指定する。
--legacy-server-connect
元々の再ネゴシエーションには割と深刻な脆弱性がありそれを改善したのがRFC 5746で規定されているTLS拡張。このTLS拡張をサポートしていないサーバーへの接続を許可するというのがこのオプション。どうしても欲しい動画があるがサーバーがこの問題に引っかかるとかよほどのレアケースだろう。
--no-check-certificate
暗号化通信のデジタル証明書をチェックしない。
--prefer-insecure
動画情報の取得に非暗号化通信を使用する。現在サポートしてるのはyoutubeのみ。
--user-agent UA 冗長
userAgentを指定する。
--referer URL 冗長
refererを指定する。
--add-header FIELD:VALUE
カスタムHTTPヘッダを指定する。このオプションは複数回指定できる。
--bidi-workaround
双方向性テキスト。つまりアラビア語などは文章を右から左へと書くが数字は左から右へと書かねばならない。このような言語を扱うときに指定する。
--sleep-requests SECONDS
データリクエスト間のインターバルを秒で指定する。
--sleep-interval SECONDS, --min-sleep-interval SECONDS
単独で使用された時はそれぞれのダウンロード前に指定された秒数のインターバルを入れる。--max-sleep-intervalとセットで使われた時は--min-sleep-intervalとして機能する。互換性を考えたんだろうけどなにこの変な実装。
--max-sleep-interval SECONDS
それぞれのダウンロード前に指定された秒数を上限としたランダムな秒数のインターバルを入れる。ただし必ず--sleep-intervalとセットで使う事。
--sleep-subtitles SECONDS
字幕のダウンロード前のインターバルを秒で指定する。

Video Format Options

-f, --format FORMAT
Video format codeを指定する。詳細はFORMAT SELECTIONを参照。
--all-formats 非推奨
利用可能な全てのフォーマットをダウンロードする。
-S, --format-sort SORTORDER
bestとみなされるformatの判定基準を指定する。詳細はSorting Formatsを参照。
--format-sort-force, --S-force
--no-format-sort-force (default)
bestとみなされるformatの判定基準を強制するかどうか。詳細はSorting Formatsを参照。
--video-multistreams
--no-video-multistreams (default)
複数の映像ストリームを追加するかどうか。
--audio-multistreams
--no-audio-multistreams (default)
複数の音声ストリームを追加するかどうか。
--prefer-free-formats
--no-prefer-free-formats (default)
同じ品質のフリーのフォーマットを優先するかどうか。品質に関わりなく優先する場合は「--format-sort ext」を指定する。
--check-formats
--no-check-formats
選択されたフォーマットが実際にダウンロード可能かどうかのチェックをするかどうか。
--check-all-formats
全てのフォーマットを実際にダウンロード可能かどうかチェックをする。
-F, --list-formats 冗長
利用可能な全てのフォーマットを表示する。
--youtube-skip-dash-manifest 非推奨
youtubeにおいてDASH manifestsを無視する。
--merge-output-format FORMAT
結合が必要な場合にコンテナフォーマットを指定する。使用可能なのはmkv、mp4、ogg、webm、flv。

Subtitle Options

--write-sub
--no-write-subs (default)
字幕ファイルを生成するかどうか。
--write-auto-subs, --write-automatic-subs
--no-write-auto-subs, --no-write-automatic-subs (default)
youtubeで字幕ファイルを自動で生成するかどうか。
--all-subs 非推奨
使用可能な全ての字幕をダウンロードする。
--list-subs 冗長
使用可能な全ての字幕を表示する。
--sub-format FORMAT
字幕のフォーマットを指定する。
--sub-lang LANGS
字幕の言語を指定する。

Authentication Options

-u, --username USERNAME
ログイン時のユーザー名を指定する。
-p, --password PASSWORD
ログイン時のパスワードを指定する。
-2, --twofactor TWOFACTOR
auth codeを指定する。
-n, --netrc
netrcファイルを使う。
--netrc-location PATH
netrcファイルのPathまたはフォルダを指定する。
--video-password PASSWORD
そのまんま動画のパスワード。どうも必要なサイトが複数あるらしい。
--ap-mso MSO
Adobe Pass(今はAdobe Primetimeという名称になっている)という配信プラットフォームの話でこのOptionはTV providerのidを指定する。有効なidは--ap-list-msoを見る事。
--ap-username USERNAME
Adobe Passのユーザー名を指定する。
--ap-password PASSWORD
Adobe Passのパスワードを指定する。
--ap-list-mso
Adobe PassのTV providerのid一覧を表示する。
--client-certificate CERTFILE
PEMファイルへのPathを指定する。
--client-certificate-key KEYFILE
秘密鍵ファイルへのPathを指定する。
--client-certificate-password PASSWORD
証明書が暗号化されている場合のパスワードを指定する。

Post-processing Options

-x, --extract-audio
動画を音声のみに変換する。
--audio-format FORMAT
--extract-audioが指定された時の音声フォーマットを指定する。指定できるのはbest, aac, vorbis, mp3, m4a, opus, wavのいずれか。
--audio-quality QUALITY
音声変換時のクオリティを指定。VBRなら0-9、CBRなら128Kなど
--remux-video FORMAT
コンテナをmuxし直す。ルールは複数設定でき

aac>m4a/mov>mp4/mkv

だとaacならm4aにmovならmp4にその他はmkvとなる。

--recode-video FORMAT
映像フォーマットを指定のフォーマットに変換する。構文は--remux-videoと同様。
--postprocessor-args NAME:ARGS, --ppa NAME:ARGS
実行するポストプロセッサを指定する。有効なポストプロセッサは

Merger, ModifyChapters, SplitChapters, ExtractAudio, VideoRemuxer, VideoConvertor, Metadata, EmbedSubtitle, EmbedThumbnail, SubtitlesConvertor, ThumbnailsConvertor, FixupStretched, FixupM4a, FixupM3u8, FixupTimestamp and FixupDuration

有効なexeは

AtomicParsley, FFmpeg and FFprobe

さらにffmpegまたはffprobeの場合プレフィックスに「_i」または「_o」を番号付きで追加して入出力ファイルの前に引数を渡すことが出来る。

--ppa "Merger+ffmpeg_i1:-v quiet"

-k, --keep-video
--no-keep-video (default)
ダウンロードした変換前のファイルを残すかどうか。
--post-overwrites (default)
--no-post-overwrites
ダウンロード後処理された後のファイルを上書きするかどうか。
--embed-subs
--no-embed-subs (default)
ファイルに字幕を埋め込むかどうか。
--embed-thumbnail
--no-embed-thumbnail (default)
ファイルにサムネイルを埋め込むかどうか。
--embed-metadata, --add-metadata
--no-embed-metadata, --no-add-metadata (default)
ファイルにメタデータを埋め込むかどうか。
--embed-chapters, --add-chapters
--no-embed-chapters, --no-add-chapters (default)
ファイルにchapterを埋め込むかどうか。
--metadata-from-title FORMAT 非推奨
動画タイトルからtitle, artistのようなメタデータを取得する。使用できる変数は--output同様にOUTPUT TEMPLATEを参照。
--embed-info-json
--no-embed-info-json
mkv及びmkaにinfojsonを埋め込むかどうか。
--parse-metadata FROM:TO
FROMで指定されたfieldをparseしてTO で指定されたfieldに書き込む。

--parse-metadata "title:%(artist)s - %(title)s"

--replace-in-metadata FIELDS REGEX REPLACE
正規表現メタデータを書き換える。このオプションは複数回設定可能。
--xattrs
拡張ファイル属性にメタデータを書き込む。
--concat-playlist POLICY
プレイリスト内の動画を結合する。POLICY は「never、always、multi_video(Default)」のいずれかを指定する。結合するには全ての動画のcodecとstream数が一致する必要がある。--pathsと--outputで「pl_video」Prefixを指定して出力ファイル名を指定可能。
--fixup POLICY
既知のエラーを自動で修正する。
--prefer-avconv 非推奨
--prefer-ffmpeg 非推奨
avconvとffmpegの指定された方を優先して使用する。
--ffmpeg-location PATH
ffmpeg/avconvのPATHを指定する。
--exec [WHEN:]CMD
--no-exec
ダウンロード後にコマンドを実行するかどうか。「WHEN:」の値は--printを参照。ダウンロードファイルのPathを「filepath」fieldで取得する事も出来る。このオプションは複数回設定可能。
--exec-before-download CMD 非推奨
--no-exec-before-download 非推奨
ダウンロード前にコマンドを実行するかどうか。
--convert-subs FORMAT, --convert-subtitles FORMAT
字幕フォーマットを変換する。サポートしてるのはsrt、ass、vtt、lrc。
--convert-thumbnails FORMAT
サムネイルの形式を変換するのだがサポートされているのは現在jpg、png及びwebp。
--split-chapters
--no-split-chapters (default)
chapterを使用してファイルを分割するかどうか。
--remove-chapters REGEX
--no-remove-chapters (default)
指定された正規表現にタイトルが一致したchapterを削除するかどうか。
--force-keyframes-at-cuts
--no-force-keyframes-at-cuts (default)
chapterを追加または削除する際keyframeを設定し直すかどうか。当然再エンコになる。
--use-postprocessor NAME[:ARGS]
大文字小文字を区別して有効にするpostprocessor pluginの名前を指定する。「ARGS」には渡す引数をセミコロン区切りのNAME=VALUE形式で指定する。when引数で実行タイミングを指定できる。指定可能な値は--printを参照。

SponsorBlock Options

そもそもこれは何をする物なのだということだがその辺りはAbout - SponsorBlockに書かれている。元々はyoutubeの広告等のパートをスキップしようというAPIらしい。
--sponsorblock-mark CATS
SponsorBlock APIを利用してchapterを書き込む。指定できるcategoryはsponsor、intro、outro、selfpromo、preview、filler、interaction、music_offtopic、poi_highlight、all。頭に-を付けて除外する事も出来る。

--sponsorblock-mark all,-preview

categoryの説明はSegment Categoriesを参照。

--sponsorblock-remove CATS
指定したcategoryを削除するとサラッと書かれているが当然再エンコになるんだが具体的にどうするんだろうか。それともchapterの事なんだろうか。しかしそれは--sponsorblock-markで除外指定できるし。
--sponsorblock-chapter-title TEMPLATE
--sponsorblock-markで設定されたchapterのタイトルテンプレート。使用可能なfieldはstart_time、end_time、category、categories、name、category_names。
--no-sponsorblock
--sponsorblock-markと--sponsorblock-removeを無効化する。
--sponsorblock-api URL
SponsorBlock APIのURLを指定する。

Extractor Options

--extractor-retries RETRIES
extractorごとのリトライ数を指定する。infiniteも一応ある。ただし既知のextractorのみ。--retriesは全体のリトライ数なのでたぶんこちらが優先されるんだろう。
--allow-dynamic-mpd, --no-ignore-dynamic-mpd (default)
--ignore-dynamic-mpd, --no-allow-dynamic-mpd
dynamic mpdを許可するかどうか。dynamicって何のこっちゃと思ったらどうもライブストリーミングの話らしい。
--hls-split-discontinuity
--no-hls-split-discontinuity (default)
直訳すると「HLS形式の動画を広告などの不連続部分で異なるフォーマットに分割する」になるんだがそんな事にはならない。どこのサイトの話なんだろうか。
--extractor-args KEY:ARGS
extractorごとに予め設定されている引数を指定する。

CONFIGURATION

oオプション等のいつも使うオプションを設定ファイルとしてまとめておく事が出来る。便利っちゃ便利だがサイト毎に設定を振り分ける事が出来る訳でもなくscriptから実行させていると無用の長物ではある。認識する場所にはいくつかある

Main Configuration
--config-locationで指定された物。
Portable Configuration
バイナリと同フォルダに置かれたyt-dlp.conf。pythonで実行してる場合は「root /yt_dlp/__main__.py」のroot。
Home Configuration
--paths "home:path"で指定されたフォルダまたはカレントフォルダに置かれたyt-dlp.conf。
User Configuration
ユーザー領域に置かれた物。LinuxおよびmacOSなら「%XDG_CONFIG_HOME%/yt-dlp/config」、Windowsなら「%APPDATA%/yt-dlp/config」。
System Configuration
「/etc/yt-dlp.conf」
-x
--no-mtime
--proxy 127.0.0.1:3128
-o ~/Movies/%(title)s.%(ext)s
# Lines starting with # are comments

#から始まる行はコメントとして扱われる。ところでCONFIGURATIONの項目には

You can use --ignore-config if you want to disable all configuration files for a particular yt-dlp run.

と書いてあるが--ignore-configオプションの説明の方が正しい。このオプションを設定しようとも--config-locationは有効となる。

.netrcにもちょっとだけ触れておこう。これはログインのユーザー名とパスワードをまとめておく物。中の書式は

machine <extractor> login <login> password <password>

となるので

machine youtube login myaccount@gmail.com password my_youtube_password
machine twitch login my_twitch_account_name password my_twitch_password

みたいに書けば良い。そもそもなんでこんな機能があるかと言うとコマンドラインの履歴にplane textでログイン情報を残すのが嫌という事らしい。

OUTPUT TEMPLATE

  • field名の書式設定が出来る。詳しくは「python 文字列 format」辺りで検索する事。
    %(NAME)05d
  • サイトから得られるメタデータ内のList及びDictionaryを「.」で展開出来る。「:」でsliceも出来る。
    %(tags.0)s
    %(subtitles.en.-1.ext)s
    %(id.3:7:-1)s
    %(formats.:.format_id)s
  • 数値fieldの加算減算が出来る。
    %(playlist_index+10)03d
    %(n_entries+1-playlist_index)d
  • 日時時刻の書式設定も出来る。
    %(duration>%H-%M-%S)s
    %(upload_date>%Y-%m-%d)s
    %(epoch-3600>%H-%M-%S)s
  • fieldが空の場合のDefault値を設定出来る。--output-na-templateと同じ事ではあるがあちらは全fieldに効いてくる。
    %(uploader|Unknown)s
  • 代替fieldを設定することが出来る。
    %(release_date>%Y,upload_date>%Y|Unknown)s
    これの意味は「release_date>%Y」がなければ「upload_date>%Y」を使いそれもなければ仕方ないから「Unknown」を表示という事。
  • 追加で「B, j, l, q」という書式が使える。これはBytes、json、list、quotedの意味。Bytesとjsonはいいだろう。listはいわゆる配列で「,」区切りで展開される。ただし「#」flagがある場合は改行で展開する。quotedは単に文字列をクオートで囲むだけの話。
  • NFCユニコードが扱える。ただし「#」flagがある場合はNFDとなる。
    %(title)+.100U

断っておくが以下の物が全て使える訳ではない。特定のサイトに特化したような物も多い。

id
動画ID
title
動画タイトル
url
動画URL
ext
拡張子
alt_title
secondary titleってサブタイトルでいいんだろうか
description
動画概要
display_id
動画IDと何が違うのか不明
uploader
動画upload者のフルネーム
license
動画のライセンス
creator
動画の制作者
upload_date
YYYYMMDDで表される動画のupload日時
release_date
YYYYMMDDで表される動画のrelease日時
timestamp
動画が利用可能になったUNIXタイム
release_timestamp
動画がリリースされたUNIXタイム
modified_timestamp
修正時刻のUNIX TIME
modified_date
修正時刻の日付
uploader_id
動画upload者のIDもしくはニックネーム
channel
チャンネルのフルネーム
channel_id
チャンネルID
channel_follower_count
チャンネルのフォロワー数
location
動画が撮影された場所
duration
動画の長さ
duration_string
HH:mm:ssで表される動画の長さ
view_count
動画の閲覧数
like_count
動画のポジティブな評価数
dislike_count
動画のネガティブな評価数
repost_count
動画のrepostつまり引用の数
average_rating
動画の平均評価数
comment_count
動画のコメント数
age_limit
動画の制限年齢
live_status
is_live、was_live、is_upcoming、not_liveの内いずれか
is_live
live streamつまり生放送なのかどうか
was_live
live streamだったかどうか
playable_in_embed
動画が他サイトへの埋め込みを許可しているかどうか
availability
private、premium_only、subscriber_only、needs_auth、unlisted、publicの内いずれか
start_time
URLで指定されている再生開始時間とあるがyoutubeでたまに見る奴の事だろうか。
end_time
URLで指定されている再生終了時間。
extractor
要はyoutube等のドメイン
extractor_key
上記と似ているがこっちはextractorのkey名で微妙に違う
epoch
ファイル作成したUINX TIME
autonumber
ダウンロードごとに振られる連番
video_autonumber
動画のダウンロードごとに振られる連番
n_entries
プレイリストにおいて抽出されたアイテム数
playlist_id
プレイリストID
playlist_title
プレイリストタイトル
playlist
プレイリスト名もしくはID
playlist_count
プレイリスト内のアイテム総数
playlist_index
プレイリスト内動画のindex
playlist_autonumber
プレイリス内におけるダウンロード順の位置
playlist_uploader
プレイリストupload者のフルネーム
playlist_uploader_id
プレイリストupload者のID
webpage_url
動画ページのURL
webpage_url_basename
動画ページのbasename
webpage_url_domain
動画ページのドメイン
original_url
与えられたURL


チャプターもしくはセクションを持っているときに使用可能

chapter
チャプターのタイトル
chapter_number
チャプターの数
chapter_id
チャプターのID


シリーズもしくはエピソードを持っているときに使用可能

series
シリーズのタイトル
season
シーズンのタイトル
season_number
シーズンの数
season_id
シーズンのID
episode
エピソードのタイトル
episode_number
エピソードの数
episode_id
エピソードのID


音楽アルバム等で使用可能

track
タイトル
track_number
track number
track_id
トラックID
artist
Artist
genre
ジャンル
album
アルバム名
album_type
アルバムタイプ
album_artist
Album Artist
disc_number
Disc Number
release_year
YYYYで表される発売年


--split-chaptersのprefixとして使用可能

section_title
chapterタイトル
section_number
chapter番号
section_start
chapterの開始秒数
section_end
chapterの終了秒数


--printでのみ使用可能

urls
全てのリクエストURL、つまりm3u8ならURLはプレイリストの1つだけだしyoutubeなら動画と音声の2つのURLが返る
filename
ファイル名
formats_table
--list-formatsで得られるformatのtable
thumbnails_table
--list-formatsで得られるthumbnailのtable
subtitles_table
--list-formatsで得られるsubtitleのtable
automatic_captions_table
--list-formatsで得られるautomatic subtitleのtable


--sponsorblock-chapter-titleでのみ使用可能

start_time
chapterの開始秒数
end_time
chapterの終了秒数
categories
SponsorBlockカテゴリのLIST
category
SponsorBlockカテゴリ
category_names
FriendlyなSponsorBlockカテゴリのLIST
name
FriendlyなSponsorBlockカテゴリ
#例えばこんな感じで使う
-o "%(title)s-%(id)s.%(ext)s"
#Windowsのbatch fileで使う場合は%をエスケープする
-o "%%(title)s-%%(id)s.%%(ext)s"
#任意の階層パスを含めることも出来る
-o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s"
#標準出力にストリーミングする
-o -

FORMAT SELECTION

formatオプションで使用する。使用可能なformat codeは--list-formatsで確認できる。
format codeを指定する。

-f 22

こんな指定の仕方も出来る。使用できる値は下記。

-f best
all
全てのformat。
mergeall
全formatをコンテナにマージする。当然--audio-multistreamsと--video-multistreamsが必要。
b*, best*
w*, worst*
映像音声のどれが含まれているかは考慮しない。
b, best
w, worst
映像と音声両方を含む。
best*[vcodec!=none][acodec!=none]
worst*[vcodec!=none][acodec!=none]
とそれぞれ同値。
bv, bestvideo
wv, worstvideo
best*[acodec=none]
worst*[acodec=none]
とそれぞれ同値。
bv*, bestvideo*
wv*, worstvideo*
best*[vcodec!=none]
worst*[vcodec!=none]
とそれぞれ同値。
ba, bestaudio
wa, worstaudio
best*[vcodec=none]
worst*[vcodec=none]
とそれぞれ同値。
ba*, bestaudio*
wa*, worstaudio*
best*[acodec!=none]
worst*[acodec!=none]
とそれぞれ同値。

拡張子を指定する事も出来る。使用できる値は3gp、aac、flv、m4a、mp3、mp4、ogg、wav、webm。

-f webm

2番目にbestな物を指定する。

-f best.2

優先順位を指定する。22がなければ17、それもなければ18をダウンロードする。

-f 22/17/18

複数の形式をダウンロードする。この場合存在するならば22,17,18の全てをダウンロードする。

-f 22,17,18

映像と音声のformat codeを別々に指定する事も可能。指定方法はvideo format + audio format。ただしffmpegが必要。

-f bestvideo + bestaudio
Filtering Formats

細かく絞り込む事も出来る。使用できる値は下記。通常は値が不明な場合はその条件は除外されるが演算子に「?」を付けると除外されずに有効となる。つまり値が不明でもダウンロードされる。

-f "best[height = 720]"
-f "[filesize > 10M]"
-f "[height <=? 720][tbr>500]"

数値fieldに使う比較演算子は<、<=、>、>=、=、!=

filesize
ファイルサイズ
filesize_approx
大まかなファイルサイズ
width
動画幅
height
動画高
tbr
動画全体の平均ビットレート
abr
音声の平均ビットレート
vbr
映像の平均ビットレート
asr
音声のサンプリングレート
fps
フレームレート
audio_channels
音声チャンネル数
stretched_ratio
動画のアスペクト比

文字列fieldに使う比較演算子は=、^=(で始まる)、$=(で終わる)、*=(含む)

url
動画URL
ext
拡張子
acodec
音声コーデック
vcodec
映像コーデック
container
動画コンテナ
protocol
実際のダウンロードの際のプロトコル
language
言語
dynamic_range
動画のDynamic Range
format_id
フォーマットの簡易な説明
format
フォーマットの説明
format_note
フォーマット情報
resolution
解像度
Sorting Formats

--format-sortを指定して--format-sort field1,field2...の様にbestの判断基準を指定することが出来る。
使用できるfieldは下記。

hasvid
映像のあるフォーマットを優先する
hasaud
音声のあるフォーマットを優先する
ie_pref
extractorに指定されたフォーマット設定
lang
extractorに指定された言語設定
quality
extractorに指定されたフォーマット品質
source
extractorに指定されたsourceの優先度。
proto
ダウンロードのプロトコル。(https/ftps > http/ftp > m3u8_native/m3u8 > http_dash_segments> websocket_frag > other > mms/rtsp > unknown > f4f/f4m)
vcodec
映像のコーデック。(av01 > vp9.2 > vp9 > h265 > h264 > vp8 > h263 > theora > other > unknown)
acodec
音声のコーデック。(opus > vorbis > aac > mp4a > mp3 > ac3 > dts > other > unknown)
codec
vcodec,codecと同じ。
vext
映像の拡張子。(mp4 > webm > flv > other > unknown)
aext
音声の拡張子。 (m4a > aac > mp3 > ogg > opus > webm > other > unknown)
ext
vext,extと同じ。
filesize
正確なファイルサイズ。m3u8とDASH形式では使用不可。
fs_approx
マニフェストから計算されたおおよそのファイルサイズ。
size
正確なファイルサイズ。分からない場合はおおよそのファイルサイズ。
height
映像の高さ。
width
映像の幅。
res
映像の解像度。
fps
映像のフレームレート。
hdr
映像のHDR。(DV > HDR12 > HDR10+ > HDR10 > SDR)
channels
音声チャンネル数
tbr
合計の平均ビットレート
vbr
映像のビットレート
abr
音声のビットレート
br
tbr,vbr,abrと同じ。
asr
音声のサンプリングレート。
  • ソートは降順だがfieldの前に「+」を付けると昇順となる。+resとすれば最小解像度を優先する。
  • res:720とすれば720p以下での最大解像度もしくはない場合は最小の解像度を優先する。codecとextは映像と音声の2つの値を取り得る。+codec:avc:m4aとすれば映像codecではavcを音声codecではm4aを優先の上で昇順となる。
  • filesize~1Gとすればfilesizeが1GBに最も近い物を優先する。
  • hasvidとie_prefは無条件で最優先となっている。これは--format-sort-forceで変更可能。
  • デフォルトではcodec:vp9.2が有効つまりav1は優先ではない。同様にhdr:12が有効でありDVは優先ではない。これはAV1及びDVはまだ一般的ではない為。

EXTRACTOR ARGUMENTS

一部のextractorは追加の引数が設定されている。

youtube

skip
manifestのダウンロードをskipする。hls、dashもしくはtranslated_subs のいずれかを指定する。
player_client
動画情報を抽出するクライアントを指定する。値はweb、androidiosがあり、_music、_embedded、_agegate、_creatorの接尾語を持つ。
web_embedded
その他mweb、tv_embeddedもある。
player_skip
抽出に必要ないくつかのネットワークリクエストをskipする。configs(clientのconfigをskip)、webpage(初期ページをskip)、js(playerをskip)の内一つもしくは複数を指定する。
include_live_dash
live dash formatを含める。
comment_sort
コメントのソート順としてtopもしくはnewのいずれか指定する。
max_comments
max-comments、max-parents、max-replies、max-replies-per-threadのカンマ区切りリストで表されるダウンロードするコメントの最大数を指定する。Defaultは下記
all,all,all,all
例えば
all,all,1000,10
の場合threadごとのreply数が10でその総合計数が1000となる。
1000,all,100
の場合総コメント数が1000、replyの総合計数が100となる。
innertube_host
youtubeのクライアント向けAPIであるInnertube APIのホストを指定する。
innertube_key
Innertube API keyを指定する。

youtubetab(playlists、channels、feeds等)

skip
webpage(webpageのダウンロードをskip)、authcheck(認証が必要なplaylistのダウンロードを許可)の内一つもしくは両方。
approximate_date
playlistからおおよそのupload_dateを推測します。

funimation

language
言語を指定する。
funimation:language=english,japanese
version
動画のversionとしてuncutもしくはsimulcastのいずれかを指定する。
--extractor-args "funimation:version=uncut"

crunchyroll

language
言語を指定する。
crunchyroll:language=jaJp
hardsub
hard-subだからたぶん動画に焼き付けた字幕の事なんだろう。
crunchyroll:hardsub=None,enUS

crunchyrollbeta

format
抽出するstreamのtypeを指定する。有効な値はadaptive_hls、adaptive_dash、 vo_adaptive_hls、vo_adaptive_dash、download_hls、download_dash、multitrack_adaptive_hls_v2などがある。
hardsub

vikichannel

video_types
ダウンロードする動画の種類を指定する。episodes、movies、clips、trailersの内一つもしくは複数。

niconico

segment_duration
HLS-DMCフォーマットの為のms単位セグメント時間。

youtubewebarchive

check_all
thumbnailやcaptureをチェックする。

gamejolt

comment_sort
コメントをソートする。有効な値はhot(Default)、you(cookieが必要)、top、new。

hotstar

res
無視する解像度を指定する。有効な値はsd、hd、fhd。
vcodec
無視する映像コーデックを指定する。有効な値はh264、h265、dvh265。
dr
無視するDynamic Rangeを指定する。有効な値はsdr、dr10、 dv。

tiktok

app_version
APIを叩く時のアプリのVerを指定する。manifest_app_versionも必要。
manifest_app_version
APIを叩く時のmanifestのVerを指定する。

rokfinchannel

tab
downloadするtabを指定する。有効な値はnew、top、videos、podcasts、streams、stacks。

PLUGINS

Pluginは

<root-dir>/ytdlp_plugins/<type>/__init__.py

から読み込む。pip VerはPluginは未サポート。typeのextractorまたはpostprocessorを定義することが出来る。extractorは自動でロードされpostprocessorは--use-postprocessorで有効にする。

DEPRECATED OPTIONS

Almost redundant options

つまりほぼ一緒のオプション。完全に一緒とは言い切れない多少の違いがある。

非推奨オプション 代替オプション
-j, --dump-json --print "%()j
-F, --list-formats --print formats_table
--list-thumbnails --print thumbnails_table --print playlist:thumbnails_table
--list-subs --print automatic_captions_table --print subtitles_table
Redundant options

一緒のオプションだが使いやすいため残してあるらしい。だったらリストに残しといて欲しい。

非推奨オプション 代替オプション
--get-description --print description
--get-duration --print duration_string
--get-filename --print filename
--get-format --print format
--get-id --print id
--get-thumbnail --print thumbnail
-e, --get-title --print title
-g, --get-url --print urls
--match-title REGEX --match-filter "title ~= (?i)REGEX"
--reject-title REGEX --match-filter "title !~= (?i)REGEX"
--min-views COUNT --match-filter "view_count >=? COUNT"
--max-views COUNT --match-filter "view_count <=? COUNT"
--user-agent UA --add-header "User-Agent:UA"
--referer URL --add-header "Referer:URL"
--playlist-start NUMBER -I NUMBER:
--playlist-end NUMBER -I :NUMBER
--playlist-reverse -I ::-1
--no-playlist-reverse Default

まだ有効ではあるが他の代替方法があるため推奨されない。でもRedundant options群の中にもここに入れていい奴が相当あると思う。

非推奨オプション 代替オプション
--force-generic-extractor --ies generic,default
--exec-before-download CMD --exec "before_dl:CMD"
--no-exec-before-download --no-exec
--all-formats -f all
--all-subs --sub-langs all --write-subs
--print-json -j --no-simulate
--autonumber-size NUMBER Use string formatting. Eg: %(autonumber)03d
--autonumber-start NUMBER Use internal field formatting like %(autonumber+NUMBER)s
--id -o "%(id)s.%(ext)s"
--metadata-from-title FORMAT --parse-metadata "%(title)s:FORMAT"
--hls-prefer-native --downloader "m3u8:native"
--hls-prefer-ffmpeg --downloader "m3u8:ffmpeg"
--list-formats-old --compat-options list-formats (Alias: --no-list-formats-as-table)
--list-formats-as-table --compat-options -list-formats [Default] (Alias: --no-list-formats-old)
--youtube-skip-dash-manifest --extractor-args "youtube:skip=dash" (Alias: --no-youtube-include-dash-manifest)
--youtube-skip-hls-manifest --extractor-args "youtube:skip=hls" (Alias: --no-youtube-include-hls-manifest)
--youtube-include-dash-manifest Default (Alias: --no-youtube-skip-dash-manifest)
--youtube-include-hls-manifest Default (Alias: --no-youtube-skip-hls-manifest)
Developer options

開発者用。

オプション 概要
--test extractorのテストに動画の一部をダウンロードする。
--load-pages --write-pagesでdumpされたページをロードする。
--youtube-print-sig-code YouTubeの署名のテスト用。
--allow-unplayable-formats 再生できないformatもリストに加える。
--no-allow-unplayable-formats Default
Old aliases

リストから外されたエイリアス。一応機能はする。

非推奨オプション 代替オプション
--avconv-location --ffmpeg-location
--clean-infojson --clean-info-json
--cn-verification-proxy URL --geo-verification-proxy URL
--dump-headers --print-traffic
--dump-intermediate-pages --dump-pages
--force-write-download-archive --force-write-archive
--load-info --load-info-json
--no-clean-infojson --no-clean-info-json
--no-split-tracks --no-split-chapters
--no-write-srt --no-write-subs
--prefer-unsecure --prefer-insecure
--rate-limit RATE --limit-rate RATE
--split-tracks --split-chapters
--srt-lang LANGS --sub-langs LANGS
--trim-file-names LENGTH --trim-filenames LENGTH
--write-srt --write-subs
--yes-overwrites --force-overwrites
Sponskrub Options

非推奨となり--sponsorblockに置き換わった。

非推奨オプション 代替オプション
--sponskrub --sponsorblock-mark all
--no-sponskrub --no-sponsorblock
--sponskrub-cut --sponsorblock-remove all
--no-sponskrub-cut --sponsorblock-remove -all
--sponskrub-force Not applicable
--no-sponskrub-force Not applicable
--sponskrub-location Not applicable
--sponskrub-args Not applicable
No longer supported

今後サポートはしないという事なので現状動いてもこの先動かなくなる可能性があるよという事。

非推奨オプション 代替オプション
--prefer-avconv avconv is not officially supported by yt-dlp (Alias: --no-prefer-ffmpeg)
--prefer-ffmpeg Default (Alias: --no-prefer-avconv)
-C, --call-home Not implemented
--no-call-home Default
--include-ads No longer supported
--no-include-ads Default
--write-annotations No supported site has annotations now
--no-write-annotations Default
--compat-options seperate-video-versions もはや必要ない
Removed

削除され動かない。

削除オプション 代替オプション
-A, --auto-number -o "%(autonumber)s-%(id)s.%(ext)s"
-t, -l, --title, --literal -o "%(title)s-%(id)s.%(ext)s"

今月の読書日記

旧ソ連の衛星国家が社会主義から民主主義にどのように移行したか。それには準大統領制という耳慣れない政治体制を理解する必要があるがよく読めば制度自体はそう難しくない。難しいのは実際の運用。日本のマスコミはこれを議院内閣制と位置付けてるのでニュースで使われることは基本ないらしいが、大統領と首相が並列で存在すればいいだけなので実は準大統領制の国家は結構ある。Covid-19いわゆる新型コロナは人間相手の医者は未知のウイルスだったかもしれないが獣医もしくはウイルス学者にとっては別に未知でも何でもないというお話。分かりやすい解説の本だったが、自説である哺乳類の進化はウイルスのおかげという話は学会でどの程度の賛同を得られてるのか全く書いてない。トイレマニアのサブカル本かと思いきやトイレを切り口にインドの実情を浮き彫りにしようという至極真面目な本。中国人の思考回路の源流を歴史の中から探し出そうという本だが中国史総浚いとしても有用だった通り越してむしろ分かりやすかった。やっぱ中国人とアメリカ人は思考回路が似てるという事を確認できる一冊。

今月の読書日記

マスコミが大好きなAIとやらの中の人は具体的に何をしているのかの解説。プログラミングアレルギーでも理解できる平易な本。日本人の名前のフォーマットがいつ頃現在の物になったのかよく分かる本。なんとまあつい最近で明治以来なんだねえ。進化論的な心理学の観点から人類の色んなしょうがない事を解説してる本。集団狩猟生活の記憶がDNAレベルで刻み込まれてる云々って奴。ブログエントリのような軽いノリの文章だが内容は歴史の本読んでても中々お目にかからない珍しい物。古代オリエントの宗教なんて資料が少ないだろうにここまで分かるもんなんだね。話が聖書を中心に展開するがそれは致し方ないのかもしれない。

今月の読書日記

アフターと書かれてはいるがリベラルの起源と歴史的経緯が話の本題。分かりやすくまとめられているんだろうが保守リベラルに対するある程度の予備知識すらない俺さんには難しかった。タイトル自体は馬鹿っぽいけど内容は韓国政治右派左派の傾向と分析の本。韓国の右派左派はいわゆる保守リベラルではない。ただ基本は韓国人が書いた韓国政治本なので、日本人が書いた日本政治本と同様に悪口しか書いてない。
麻薬と人間 100年の物語

麻薬と人間 100年の物語

麻薬戦争の必要性や疑問をこれでもかとばかりにジャーナリストが調べた本。今まで教えられてきた事を根底から覆すのでにわかには信じがたいがたぶん本当なんだろう。なにせ注釈が異常に多い。信じられるかソースを出せソースをと言われるのが分かってるんだろう。麻薬戦争はコストに見合う結果を出せているのかという疑問を麻薬研究の総本山ですら明快に否定してないというのが事態を深刻性を物語っている。お高いしその上分厚いが一読の価値がある本。リベラルという政治的概念が時代と共に変化していく様子を解説した本。「アフターリベラル」で予備知識を仕入れたからかかなり理解できた。

今月の読書日記

番号は謎(新潮新書)

番号は謎(新潮新書)

塀の中の事情 (平凡社新書0941)

塀の中の事情 (平凡社新書0941)

今月の読書日記

考えるナメクジ ―人間をしのぐ驚異の脳機能

考えるナメクジ ―人間をしのぐ驚異の脳機能

  • 作者:松尾 亮太
  • 発売日: 2020/05/21
  • メディア: 単行本(ソフトカバー)
教科書には書かれていない江戸時代

教科書には書かれていない江戸時代

  • 作者:山本 博文
  • 発売日: 2018/08/17
  • メディア: 単行本(ソフトカバー)
中東政治入門 (ちくま新書)

中東政治入門 (ちくま新書)

PowerShell 5.1 公式Reference 自分用目次

PowerShellを覚える気はある。たぶん覚えたら便利なんだろうと確信している。しかし公式Referenceがうんこ。超見にくい。おまけに日本語がない。英語のみ。まあScript言語のReferenceが英語のみとかありがちではあるが仮にもMSの仕事だぞ。そこでせめて自分用目次を作ることにした。ところでWindows10に搭載可能なPowerShellは5.1だが6とか7もある。しかしこれはPowerShell Coreとかいう新しいマルチプラットフォーム版の事。どうしようかと思ったが取り敢えず基本の5.1で覚える事にした。

各種コマンドレット目次

CimCmdlets
CIM(Common Information Model)を取り扱う。Windowsで言うとWMIの事。

ISE

ISE(統合開発環境)を操作する。ISEというのはVisual StudioとかEclipseみたいな奴の事。これはあれほど大掛かりじゃないけど。

Microsoft.PowerShell.Archive

圧縮ファイルを扱うのだが今時zipのみ。

Microsoft.PowerShell.Core

PowerShellの基本機能を管理する。

Microsoft.PowerShell.Diagnostics

パフォーマンスカウンタ及びイベント関連。

Microsoft.PowerShell.Host

ホストプログラムからのデータを管理する。

Microsoft.PowerShell.LocalAccounts

読んで字のごとくローカルアカウント関連だが64bit上で動く32bit PowerShellでは動かないので注意する事。

Microsoft.PowerShell.Management

Windows管理関連。

Microsoft.PowerShell.ODataUtils

OData(Open Data Protocol)関連だが今のところ登録されてあるのは1つだけ。

Microsoft.PowerShell.Operation.Validation

Operation Validationだから文法チェックとか書式チェックとかの仕様の妥当性検証の事。

Microsoft.PowerShell.Security

Windowsのセキュリティ機能関連。

Microsoft.PowerShell.Utility

PowerShellの基本機能を管理する。Coreと違ってこちらはどちらかというと便利アイテム。

Microsoft.WsMan.Management

WS-Managementプロトコル関連。ネットワーク管理。

PackageManagement

パッケージ管理関連。

PowerShellGet

モジュール、DSC(Desired State Configuration)リソース、JEA(Just Enough Administration)ロール及びScriptの管理。DSCはWindows設定の自動化、JEAは管理者権限管理の仕組み。

PSDesiredStateConfiguration

DSC(Desired State Configuration)リソース関連。

PSDiagnostics

ETW(Event Tracing for Windows)トレース関連。

PSReadLine

ReadLine環境を扱う。キーバインド等をReadLine風にカスタマイズ出来る…らしい。

PSScheduledJob

スケジュールされたジョブを扱う。

PSWorkflow

ワークフロー関連。

PSWorkflowUtility

ワークフロー関連。