npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-fluent-ytdlp

v1.3.7

Published

yt-dlpをNode.jsで簡単に利用できるようにするAPI

Downloads

68

Readme

Node.js用のyt-dlp API - fluent-ytdlp

Node.jsで簡単にyt-dlpを実行します。独自のコードを作成する必要はありません。

このAPIは、fluent-ffmpegを参考に作成されました。

License: MIT npm version Monthly downloads

インストールする際の注意点

このAPIはインストールする際にyt-dlpやffmpegなどの必要なバイナリをダウンロードします。

そのためインストール時に時間がかかる場合がありますがバグではありませんので終了するまでお待ちください。(ダウンロードにかかる時間はインターネットの速度によって異なります。)

自動的にダウンロードさせないようにする

yt-dlpなどを自動的にダウンロードさせないようにするには、環境変数「FLUENT_YTDLP_NO_AUTO_DOWNLOAD」に何かしらの値を設定してください。(設定したあとは、一度ターミナルを終了してください。終了しないと環境変数が取得できないため。)

目次

説明・注意

説明

このAPIに関して

このAPIは、yt-dlpをNode.jsで利用できるようにするAPIです。

このAPIのメリット

  1. yt-dlpやffmpeg、ffprobeはこのAPIによって自動でダウンロードされるため独自のコードを書く必要はありません。(yt-dlp・ffmpeg・ffprobeのみ)
  2. yt-dlpを実行する関数などを用意する必要はなく、このAPIを読み込むだけですぐに利用を開始できます。
  3. このAPIはオープンソースソフトウェアであるため、利用のために料金を払ったり、許可を取る必要はありません。(利用は自己責任です。)

このAPIのデメリット

  1. yt-dlpのバグなどによって動作しない場合があります。
  2. yt-dlpのオプションなどが更新されるとすぐにはそのオプションを使用できない可能性があります。
  3. このAPIにない機能は独自のコードを用意する必要があります。(追加してほしい機能はDiscussions(議論)の「新機能の要望」に送信してください!)

このAPIの開発に関して

このAPIの開発は、YBD Projectが行っています。

注意

1. 自己責任での利用をお願いします。このAPIの利用によって発生した損害・損失等に関して開発者は一切の責任を取りません。 2. このAPIは、Node.jsでの実行を目的としたものであり、ブラウザ等のNode.js以外の環境での動作は保証できません。

このAPIを支援する

現時点でこのAPIを支援する方法は、このAPIを利用(npmからダウンロード)していただくかSNS等で拡散する方法の二つがあります。 少しだけでも利用していただくだけで相当な支援となります!(開発者側としてはうれしいです!)

このAPIのバグ報告・改善

このAPIのバグ報告などはCONTRIBUTING.mdをご覧ください。

このAPI自体、READMEやCONTRIBUTINGなどのドキュメントの改善点はDiscussions(議論)の「改善点」に質問として送信してください。ここに送信された改善点は開発者が定期的に閲覧し、その質問に対する回答として返信していきます。

導入

npmを使用する場合

npm install node-fluent-ytdlp

yarnを使用する場合

yarn add node-fluent-ytdlp

基本的な使用方法

このAPIは、実行(run()を実行)するとNode.jsのChildProcessでストリームを返します。

実行の種類

ストリームでデータを取得する

run()を使用して実行してください。

ストリームを使用せずデータを取得する

noStreamRun()を使用して実行してください。

実行する日時を指定して実行する

scheduleRun()を使用して実行してください。

モジュールの読み込みとURLの指定

デバッグを有効にしない場合は、以下のコードを使用してください。

const fluentYTDlp = require('node-fluent-ytdlp'); //モジュールの読み込み
const ytdlp = new fluentYTDlp('URL'); //インスタンスの作成

TypeScriptで使用する場合は、requireのコードをimportに変更するだけで対応できます。

import fluentYTDlp from 'node-fluent-ytdlp'; //モジュールの読み込み
const ytdlp = new fluentYTDlp('URL'); //インスタンスの作成

デバッグ(実行のログ出力)を行う場合は、以下のコードを使用してください。(インスタンス作成の第二引数にtrueを指定します。) 注意: 間違った形式で指定しているオプションを強制的に適応したい場合は、run()の引数に{force: true}を渡してください。

const ytdlp = new fluentYTDlp('URL', true); //インスタンスの作成

yt-dlpオプションの指定なし

const ytdlpProcess = ytdlp.run(); //yt-dlpの実行

ytdlpProcess.stdout.on('data', () => {/* yt-dlpの標準出力 */});
ytdlpProcess.stderr.on('data', () => {/* yt-dlpの標準エラー出力 */});
ytdlpProcess.on('close', () => {/* 終了した場合の処理 */});

yt-dlpオプションの指定あり(解像度の指定)

const ytdlpProcess = ytdlp.resolution('1920x1080').run(); //yt-dlpの実行

ytdlpProcess.stdout.on('data', () => {/* yt-dlpの標準出力 */});
ytdlpProcess.stderr.on('data', () => {/* yt-dlpの標準エラー出力 */});
ytdlpProcess.on('close', () => {/* 終了した場合の処理 */});

その他使用方法については、examplesフォルダをご覧ください。

応用的な使用方法

複数のオプションを指定してyt-dlpを実行したい場合は以下のように記述します。

複数のオプション指定

ytdlp.resolution('1920x1080').filename('Test').format('bestvideo+bestaudio[ext=m4a]').run();

オプション説明

オプションに関する情報

オプションの種類に関して

yt-dlpのオプションには、同じ意味を持つ別名のオプションが存在するためそのような関数は「・」で区切り、全く違うオプションは、「、」で区切っています。

オプション名に関して

ここに記載されているオプションは、全てyt-dlpと同じ名前となります。その他、このAPIを簡単に利用するための簡易オプション等は独自命名となります。

オプション関数の引数に関して

関数に引数を渡す場合は、文字列(String型)・数字(Number型)・真偽(Boolean型)・日付(Date型)・JSON(Object型)のいずれかを指定する必要があります。 オプションには、一つの型を受け付ける関数と、複数の型を受け付ける関数があることに注意してください。 受け付けない型を引数として渡された場合は、そのオプションは既定で適応されません。適応する場合は、yt-dlpの実行をご覧ください。

非推奨等のオプションに関して

yt-dlpで非推奨になったオプション等はotherOptions()で指定することが可能ですが、動作については保証できません。

オプションの指定方法に関して

yt-dlpのオプションには、独自の指定方法をしなければならないオプションが多数あります。(--playlist-itemsなど) これらのオプション等の指定方法については、このドキュメントに随時追加していく予定ですので追加されていないオプションについては説明欄にあるyt-dlpの公式ドキュメントをご覧ください。


yt-dlpなどのバイナリパスの設定に関するオプション


yt-dlpなどのバイナリパスの設定する

yt-dlpなどを指定されたパスで実行できるようになります。

関数名: setBinaryPath()

引数の型: Object型

引数説明:(以下のオプションは、絶対パスで指定しないと正常に機能しない場合があります。値がない場合は、設定されません。)

  • ytdlp: yt-dlpのバイナリパスを指定します。
  • ffmpeg: ffmpegのバイナリパスを指定します。
  • ffprobe: ffprobeのバイナリパスを指定します。
/* バイナリパスを設定する */
ytdlp.setBinaryPath({
    ytdlp: 'Path',
    ffmpeg: 'Path'
});

yt-dlpの実行に関するオプション


yt-dlpの実行

yt-dlpを指定されたオプションで実行します。引数の説明は以下をご覧ください。

関数名: run()

引数の型: Object型

引数説明:

  • force: 間違ったオプションの指定をしていても強制的に適応します。(デフォルトはfalse
  • spawnOptions: Node.jsのspawnに渡すオプションを指定できます。
/* 間違ったオプションを強制的に適応しない(デフォルト) */
ytdlp.run();
ytdlp.run({});
ytdlp.run({
    force: false
});

/* 間違ったオプションを強制的に適応する */
ytdlp.run({
    force: true
});

/* spawnにオプションを渡す */
ytdlp.run({
    spawnOptions: {
        shell: true,
        cwd: '/cwd/dir/'
    }
});

スケジュールで実行する

yt-dlpを指定された時間に実行します。引数の説明は以下をご覧ください。

関数名: scheduleRun()

引数の型: Object型

引数説明:

  • force: 間違ったオプションの指定をしていても強制的に適応します。(デフォルトはfalse
  • spawnOptions: Node.jsのspawnに渡すオプションを指定できます。
  • schedule: yt-dlpを実行する日時を指定できます。このオプションを指定するとこの関数はPromiseを返すようになります。このオプションでは、new Dateを内部的に使用するためnew Dateで使用できない日時の引数を渡されるとエラーが発生する可能性があります。
/* スケジュールを設定する(Promise) */
ytdlp.run({
    schedule: '2023/03/27 15:30'
}).then(ytdlpProcess => {
    ytdlpProcess.stdout.on('data', () => {/* yt-dlpの標準出力 */});
    ytdlpProcess.stderr.on('data', () => {/* yt-dlpの標準エラー出力 */});
    ytdlpProcess.on('close', () => {/* 終了した場合の処理 */});
}).catch(err => {
    /* 日時が過去の場合などにエラー(Reject)が返される */
    console.log(err);
});

ストリーム以外で実行する

データの取得をストリーム以外で行う必要がある場合は、以下のオプション(noStreamRun())を使用してください。このオプションは、指定しない場合と比べて不安定な場合があります。

このオプションを指定した場合は、引数を指定することで値を指定できます。

関数名: noStreamRun()

引数の型: Object型

引数説明:

  • type: 実行するChild_processの関数を指定できます。(execまたはexecFile
  • callback: 実行結果を受け取るコールバック関数を指定できます。
  • force: 間違ったオプションの指定をしていても強制的に適応します。(デフォルトはfalse
/* 「exec」で実行する */
ytdlp.noStreamRun({
    type: 'exec',
    callback: function (err, stdout, stderr) {/* Process... */}
});

/* 「execFile」で実行する */
ytdlp.noStreamRun({
    type: 'execFile',
    callback: function (err, stdout, stderr) {/* Process... */}
});

簡易オプション


このセクションでは、このAPIを簡単に利用するためのオプション等を紹介します。細かにオプションを指定する必要がある場合はこの簡易オプションを使用しないでください。


解像度の指定

解像度を指定できます。「横×縦」で指定することができます。このオプションには、何かしらの値を指定する必要があります。

関数名: resolution()

引数の型: String型

ytdlp.resolution('1920x1080').run();

縦と横を個別で指定する必要がある場合は以下のオプションを使用してください。このオプションには、何かしらの値を指定する必要があります。

関数名: width()height()

引数の型: String型Number型

ytdlp.width('1920').run(); //横の指定
ytdlp.height('1080').run(); //縦の指定

ファイル名の指定

ダウンロード後のファイル名を指定できます。(拡張子の指定は、extension()を使用してください。)このオプションには、何かしらの値を指定する必要があります。

関数名: filename()

引数の型: String型

ytdlp.filename('Name').run();

ファイル拡張子の指定

ダウンロード後のファイル拡張子を指定できます。この拡張子はyt-dlpで利用できる拡張子を指定してください。このオプションには、何かしらの値を指定する必要があります。

関数名: extension()

引数の型: String型

ytdlp.extension('Ext').run();

その他のオプション


URLの変更

URLを途中で変更することができます。このオプションは複数回指定することができ、一番最後に指定されたオプションが適応されます。このオプションには、何かしらのURLを指定する必要があります。

関数名: url()

引数の型: String型

ytdlp.url('URL').run();

その他のオプションの指定

yt-dlpで非推奨等になっているオプションは、このAPIでは正式に対応していないため、このオプションを使用して指定することができます。

指定形式は、JSONのキー名をオプション名とし、JSONの値をそのオプションへ値とします。オプションへの値が必要ない場合は、trueを指定します。 注意: オプション名はハイフンの次の文字を大文字とします。ここを間違えると正常にオプションが適応されない可能性があります。

関数名: otherOptions()

引数の型: Object型

ytdlp.otherOptions({
    allFormats: true
}).run(); //「--all-formats」を適応する場合(yt-dlpで非推奨のオプション)

ytdlp.otherOptions({
    autonumberStart: 2
}).run(); //「--autonumber-start」に「2」を渡して適応する場合(yt-dlpで非推奨のオプション)

yt-dlpパスの取得

このAPIが、内部で使用するyt-dlpのパスを返します。

関数名: _ytdlpPath()

ytdlp._ytdlpPath();

ffmpegパスの取得

このAPIが、内部で使用するffmpegのパスを返します。

関数名: _ffmpegPath()

ytdlp._ffmpegPath();

ffprobeパスの取得

このAPIが、内部で使用するffprobeのパスを返します。

関数名: _ffprobePath()

ytdlp._ffprobePath();

その他パスの取得

このAPIが、内部で使用するffmpeg等をダウンロードするbinディレクトリパスを返します。

関数名: _binPath()

ytdlp._binPath();

yt-dlpに関するオプション


ここからはオプションの値を細かく指定できます。yt-dlpを使用したことがないユーザーは簡易オプションを使用するか、公式ドキュメントを見てからオプションを使用することをおすすめします。


ヘルプの取得

yt-dlpの--helpオプションを適応します。

関数名: help()

yt-dlpのオプション: -h--help

ytdlp.help().run();

バージョンの取得

yt-dlpの--versionを適応します。

関数名: version()

yt-dlpのオプション: --version

ytdlp.version().run();

yt-dlpのアップデート

yt-dlpをアップデートします。

この際にアップデート先のバージョンを指定する必要がある場合は、yt-dlpのアップデート先のバージョンを指定するをご覧ください。

関数名: update()noUpdate()

yt-dlpのオプション: -U--update--no-update

ytdlp.update().run(); //バージョンを指定しない
ytdlp.noUpdate().run(); //アップデートしない(yt-dlpのデフォルト)

yt-dlpのアップデート先のバージョンを指定する

yt-dlpのアップデート先のバージョンを指定できます。このオプションには、何かしらのバージョンを指定する必要があります。

関数名: updateTo()

引数の型: String型

yt-dlpのオプション: --update-to

ytdlp.updateTo('Version').run();

一般オプション - 公式ドキュメント


ダウンロードエラーの無視

yt-dlpによるダウンロードプロセスが、エラー等で失敗したとしても成功とみなすようにします。

関数名: ignoreErrors()

yt-dlpのオプション: -i--ignore-errors

ytdlp.ignoreErrors().run();

ダウンロードエラー時に処理を停止する

ダウンロード中にエラーが発生した場合、処理を中止するかを指定できます。このオプションは、どの関数を指定しても同じ結果となります。

関数名: abortOnError()noIgnoreErrors()noAbortOnError()

yt-dlpのオプション: --abort-on-error--no-ignore-errors--no-abort-on-error

/* 処理を中止する */
ytdlp.abortOnError().run();
ytdlp.noIgnoreErrors().run();

/* 処理を中止しない(yt-dlpのデフォルト) */
ytdlp.noAbortOnError().run();

userAgentの取得

userAgentを取得できます。このオプションを指定するとその他のオプションを指定できなくなり、動画のダウンロードは実行されません。

関数名: dumpUserAgent()

yt-dlpのオプション: --dump-user-agent

ytdlp.dumpUserAgent().run();

extractor 一覧の取得

extractorの一覧を配列で取得できます。このオプションを指定するとその他のオプションを指定できなくなり、動画のダウンロードは実行されません。

関数名: listExtractors()

yt-dlpのオプション: --list-extractors

ytdlp.listExtractors().run();

extractor 一覧を説明付きで取得

extractorの一覧と説明を配列で取得できます。このオプションを指定するとその他のオプションを指定できなくなり、動画のダウンロードは実行されません。

関数名: extractorDescriptions()

yt-dlpのオプション: --extractor-descriptions

ytdlp.extractorDescriptions().run();

使用するextractorの指定

ダウンロード等に使用するextractorを指定します。このオプションには、何かしらの値を指定する必要があります。

関数名: useExtractors()

引数の型: String型

yt-dlpのオプション: --use-extractor

ytdlp.useExtractors('Extractor Name').run();

URLではない値をURLとして指定された場合の処理の指定

URLではない値を、URLとして与えられた場合の処理を指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: defaultSearch()

引数の型: String型

yt-dlpのオプション: --default-search

ytdlp.defaultSearch('Method').run();

設定ファイルまたは、フォルダパスの指定

設定ファイルのパス、フォルダのパスを指定できます。このオプションには、何かしらの値を指定する必要があります。この設定ファイルのみを適応する場合は、設定ファイルを限定するをご覧ください。

関数名: configLocation()

引数の型: String型

yt-dlpのオプション: --config-locations

ytdlp.configLocation('PATH').run();

設定ファイルの限定

configLocation('PATH')を使用して指定した設定ファイル以外を適応しない場合は、ignoreConfig()またはnoConfig()を使用してください。このオプションは、どちらの関数を指定しても同じ結果となります。

関数名: ignoreConfig()noConfig()

yt-dlpのオプション: --ignore-config--no-config

ytdlp.ignoreConfig().run();
ytdlp.noConfig().run();

全ての設定ファイルの無視

どのようなオプションで設定ファイルを指定されてもその設定ファイルを無視します。このオプションを指定するとその他の設定ファイルに関するオプションが指定できなくなります。

関数名: noConfigLocations()

yt-dlpのオプション: --no-config-locations

ytdlp.noConfigLocations().run();

プレイリスト展開

プレイリストの展開をするかを指定できます。

関数名: flatPlaylist(), noFlatPlaylist()

yt-dlpのオプション: --flat-playlist--no-flat-playlist

ytdlp.flatPlaylist().run(); //プレイリスト展開をする
ytdlp.noFlatPlaylist().run(); //プレイリスト展開をしない

ライブのダウンロード開始を放送開始時にする - ==実験的==

YouTubeのライブを放送開始時からダウンロードするかを指定できます。

関数名: liveFromStart(), noLiveFromStart()

yt-dlpのオプション: --live-from-start--no-live-from-start

ytdlp.liveFromStart().run(); //放送開始時からダウンロードする
ytdlp.noLiveFromStart().run(); //ダウンロードしない(yt-dlpのデフォルト)

ライブの予約ダウンロード待機中の再試行間隔の指定

ライブの予約ダウンロードの待機中の再試行間隔を指定できます。指定する場合は、秒数を指定してください。

関数名: waitForVideo(), noWaitForVideo()

引数の型: String型Number型

yt-dlpのオプション: --wait-for-video--no-wait-for-video

ytdlp.waitForVideo('Seconds').run(); //再試行間隔を指定する
ytdlp.noWaitForVideo().run(); //再試行間隔を指定しない(yt-dlpのデフォルト)

再生履歴の追加

再生履歴を残すことができます。このオプションはユーザー名・パスワードを指定しないと動作しません。

関数名: markWatched(), noMarkWatched()

yt-dlpのオプション: --mark-watched--no-mark-watched

ytdlp.markWatched().run(); //再生履歴を残す
ytdlp.noMarkWatched().run(); //再生履歴を残さない(yt-dlpのデフォルト)

出力にカラーコードを生成しない

このオプションを指定すると標準出力にカラーコードを生成しなくなります。

関数名: noColors()

yt-dlpのオプション: --no-colors

ytdlp.noColors().run();

各オプションの動作の違いの修正

各オプションのデフォルト動作の違いを元に戻すことができます。このオプションには、何かしらの値を指定する必要があります。

関数名: compatOptions()

引数の型: String型

yt-dlpのオプション: --compat-options

ytdlp.compatOptions('OPTS').run();

~~オプションエイリアスの作成~~ - 利用できません。

注意: 正常に動作しない可能性があるため利用できません。改善策が見つかり次第、利用を可能にします。

オプション文字列のエイリアスを作成できます。エイリアスの引数はPythonの文字列フォーマットにしたがってパースされます。

関数名: alias()

引数の型: String型

yt-dlpのオプション: --alias

ytdlp.alias('Alias').run();

ネットワークオプション - 公式ドキュメント


プロキシの指定

yt-dlpで使用するプロキシを指定することができます。このオプションには、プロキシURLの指定が必要です。

関数名: proxy()

引数の型: String型

yt-dlpのオプション: --proxy

ytdlp.proxy('Proxy URL').run();

タイムアウト秒数の指定

タイムアウトの秒数を指定できます。このオプションには、タイムアウトの秒数の指定が必要です。 タイムアウトの単位は、での指定となります。

関数名: socketTimeout()

引数の型: String型Number型

yt-dlpのオプション: --socket-timeout

ytdlp.socketTimeout('Seconds').run();

クライアントIPの指定

バインド先のクライアントIPアドレスを指定できます。このオプションには、何かしらのアドレスを指定する必要があります。

関数名: sourceAddress()

引数の型: String型

yt-dlpのオプション: --source-address

ytdlp.sourceAddress('Address').run();

IPv4の使用を強制する

IPv4の使用を強制できます。

関数名: forceIpv4()

yt-dlpのオプション: -4--force-ipv4

ytdlp.forceIpv4().run();

IPv6の使用を強制する

IPv6の使用を強制できます。

関数名: forceIpv6()

yt-dlpのオプション: -6--force-ipv6

ytdlp.forceIpv6().run();

「file://」URLの使用を許可する

「file://」で始まるURLの使用を許可できます。

関数名: enableFileUrls()

yt-dlpのオプション: --enable-file-urls

ytdlp.enableFileUrls().run();

地域制限オプション - 公式ドキュメント


サイトへのアクセス時のみプロキシを適応する

サイトへのアクセス時にのみプロキシを適応できます。プロキシの指定と異なるのはダウンロード時にプロキシを適応するかしないかです。このオプションには、何かしらのプロキシURLを指定する必要があります。

関数名: geoVerificationProxy()

引数の型: String型

yt-dlpのオプション: --geo-verification-proxy

ytdlp.geoVerificationProxy('Proxy URL').run();

ヘッダー偽装による地域制限回避

ヘッダーを偽装することにより地域制限を回避できます。

関数名: geoBypass()noGeoBypass()

yt-dlpのオプション: --geo-bypass--no-geo-bypass

ytdlp.geoBypass().run(); //ヘッダーを偽装する(yt-dlpのデフォルト)
ytdlp.noGeoBypass().run(); //ヘッダーを偽装しない

国コードを指定して地域制限を回避する

ISO 3166-2で規定された国コードを指定して地域制限を回避します。このオプションには、何かしらの国コードが必要です。

関数名: geoBypassCountry()

引数の型: String型

yt-dlpのオプション: --geo-bypass-country

ytdlp.geoBypassCountry('Country Code').run();

IPブロックで地域制限を強制的に回避する

CIDR表記で指定されたIPブロックを使用して強制的に地域制限を回避できます。このオプションには、何かしらのCIDR表記のIPブロックが必須です。

関数名: geoBypassIpBlock()

引数の型: String型

yt-dlpのオプション: --geo-bypass-ip-block

ytdlp.geoBypassIpBlock('IP BLOCK').run();

動画選択オプション - 公式ドキュメント


プレイリストからダウンロードする動画のインデックス選択

プレイリストから動画をダウンロードするときに、その動画をプレイリストのインデックスで指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: playlistItems()

引数の型: String型

yt-dlpのオプション: -I--playlist-items

ytdlp.playlistItems('Index').run();

最大ダウンロード数の指定

ダウンロードする動画の最大ダウンロード数を指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: maxDownloads()

引数の型: String型Number型

yt-dlpのオプション: --max-downloads

ytdlp.maxDownloads('Number').run();

最小ファイルサイズの指定

最小ファイルサイズを指定できます。このオプションには、何かしらの値が必要です。

関数名: minFileSize()

引数の型: String型

yt-dlpのオプション: --min-filesize

ytdlp.minFileSize('Size').run();

最大ファイルサイズの指定

最大ファイルサイズを指定できます。このオプションには、何かしらの値が必要です。

関数名: maxFileSize()

引数の型: String型

yt-dlpのオプション: --max-filesize

ytdlp.maxFileSize('Size').run();

動画のアップロード日時の指定

動画のアップロード日時を指定できます。日時の指定形式はyt-dlpの公式ドキュメントを見るかJavaScriptのDateを引数として指定してください。

関数名: date()

引数の型: String型Date型

yt-dlpのオプション: --date

ytdlp.date('Date').run();

指定した日時より以前の動画を処理する

指定した日時より以前の動画を処理できます。日時の指定形式は動画のアップロード日時の指定をご覧ください。

関数名: dateBefore()

引数の型: String型Date型

yt-dlpのオプション: --datebefore

ytdlp.dateBefore('Date').run();

指定した日時以降の動画を処理する

指定した日時より以前の動画を処理できます。日時の指定形式は動画のアップロード日時の指定をご覧ください。

関数名: dateAfter()

引数の型: String型Date型

yt-dlpのオプション: --dateafter

ytdlp.dateAfter('Date').run();

ダウンロードする動画をフィルタする

ダウンロードする動画をフィルタすることができます。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: matchFilters()noMatchFilter()

引数の型: String型

yt-dlpのオプション: --match-filters--no-match-filter

ytdlp.matchFilters('Filter').run(); //フィルタの指定
ytdlp.noMatchFilter().run(); //フィルタを指定しない(yt-dlpのデフォルト)

動画が拒否された場合に処理を停止したい場合は、以下のオプションを使用してください。指定形式は上記と変わりありません。

関数名: breakMatchFilters()noBreakMatchFilters()

引数の型: String型

yt-dlpのオプション: --break-match-filters--no-break-match-filters

ytdlp.breakMatchFilters('Filter').run(); //フィルタの指定
ytdlp.noBreakMatchFilters().run(); //フィルタを指定しない(yt-dlpのデフォルト)

プレイリストの無視

プレイリストを無視するかどうかを指定できます。

関数名: noPlaylist()yesPlaylist()

yt-dlpのオプション: --no-playlist--yes-playlist

ytdlp.noPlaylist().run(); //プレイリストを無視する
ytdlp.yesPlaylist().run(); //プレイリストを無視しない

対象年齢を指定する

指定された年齢に合った動画のみをダウンロードします。

関数名: ageLimit()

引数の型: String型Number型

yt-dlpのオプション: --age-limit

ytdlp.ageLimit('Years').run();

動画IDの記録

ダウンロードした動画IDを記録し、記録された動画は二回目以降ダウンロードをスキップします。downloadArchive()を使用する場合、何かしらの値を指定する必要があります。

関数名: downloadArchive()noDownloadArchive()

引数の型: String型

yt-dlpのオプション: --download-archive--no-download-archive

ytdlp.downloadArchive('File').run(); //動画IDを記録する
ytdlp.noDownloadArchive().run(); //動画IDを記録しない(yt-dlpのデフォルト)

アーカイブに含まれるファイルがある場合に処理を停止する

アーカイブに含まれるファイルがある場合に処理を停止するかを指定できます。

関数名: breakOnExisting()

yt-dlpのオプション: --break-on-existing

ytdlp.breakOnExisting().run();

特定のオプションを現在のURLのみに適応する

--break-on-existing--break-on-reject--max-downloadのオプションを、指定されているURLのみに適応できます。noBreakPerInput()は、ダウンロードキュー自体を中止します。

関数名: breakPerInput()noBreakPerInput()

yt-dlpのオプション: --break-per-input--no-break-per-input

ytdlp.breakPerInput().run();
ytdlp.noBreakPerInput().run();

エラー数の上限を指定する

指定されたエラー数を超えるとプレイリスト自体をスキップします。このオプションには、エラー数の上限を指定する必要があります。

関数名: skipPlaylistAfterErrors()

引数の型: String型Number型

yt-dlpのオプション: --skip-playlist-after-errors

ytdlp.skipPlaylistAfterErrors('Number').run();

ダウンロードオプション - 公式ドキュメント


同時にダウンロードする動画フラグメント数の指定

DASHまたはhls動画の同時にダウンロードするフラグメント数を指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: concurrentFragments()

引数の型: String型Number型

yt-dlpのオプション: -N--concurrent-fragments

ytdlp.concurrentFragments('Number').run();

最大ダウンロード速度の指定

動画をダウンロードする際の最大速度を制限できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: limitRate()

引数の型: String型

yt-dlpのオプション: -r--limit-rate

ytdlp.limitRate('RATE').run();

最低ダウンロード速度の指定

動画をダウンロードする際の最小ダウンロード速度を指定できます。指定された値を下回ると再ダウンロードされます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: throttledRate()

引数の型: String型

yt-dlpのオプション: --throttled-rate

ytdlp.throttledRate('Rate').run();

ダウンロード再試行回数の指定

ダウンロードの再試行回数を指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: retries()

引数の型: String型Number型

yt-dlpのオプション: -R--retries

ytdlp.retries('Retries').run();

ファイルアクセスエラー時の再試行回数の指定

ファイルアクセスエラー時に再試行する回数を指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: fileAccessRetries()

引数の型: String型Number型

yt-dlpのオプション: --file-access-retries

ytdlp.fileAccessRetries('Retries').run();

フラグメントのダウンロード再試行回数の指定

フラグメントのダウンロード再試行回数を指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: fragmentRetries()

引数の型: String型Number型

yt-dlpのオプション: --fragment-retries

ytdlp.fragmentRetries('Retries').run();

再試行の間にスリープする時間を指定する

再試行の間にスリープする時間を秒単位で指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: retrySleep()

引数の型: String型Number型

yt-dlpのオプション: --retry-sleep

ytdlp.retrySleep('Seconds').run();

ダウンロードできないフラグメントをスキップする

DASHまたはhls、ISMのダウンロードできないフラグメントをスキップできます。このオプションは、どちらの関数を指定しても同じ結果となります。

関数名: noAbortOnUnavailableFragments()skipUnavailableFragments()

yt-dlpのオプション: --no-abort-on-unavailable-fragments--skip-unavailable-fragments

ytdlp.noAbortOnUnavailableFragments().run();
ytdlp.skipUnavailableFragments().run();

ダウンロードできないフラグメントがある場合は、ダウンロードを中止する

動画にダウンロードできないフラグメントがある場合に、ダウンロードを中止できます。このオプションは、どちらの関数を指定しても同じ結果となります。

関数名: abortOnUnavailableFragments()noSkipUnavailableFragments()

yt-dlpのオプション: --abort-on-unavailable-fragments--no-skip-unavailable-fragments

ytdlp.abortOnUnavailableFragments().run();
ytdlp.noSkipUnavailableFragments().run();

ダウンロードしたフラグメントを残す

ダウンロード終了後、ダウンロードしたフラグメントを消さずにディスクに保存します。

関数名: keepFragments()noKeepFragments()

yt-dlpのオプション: --keep-fragments--no-keep-fragments

ytdlp.keepFragments().run(); //フラグメントを残す
ytdlp.noKeepFragments().run(); //フラグメントを残さない(yt-dlpのデフォルト)

ダウンロードバッファサイズの指定

ダウンロードバッファのサイズを指定できます。

関数名: bufferSize()

引数の型: String型

yt-dlpのオプション: --buffer-size

ytdlp.bufferSize('Size').run();

バッファサイズの自動調整

バッファサイズを--buffer-sizeのデフォルト値(1024)から自動的に調整できます。

関数名: resizeBuffer()noResizeBuffer()

yt-dlpのオプション: --resize-buffer--no-resize-buffer

ytdlp.resizeBuffer().run(); //バッファサイズを自動的に調整する(yt-dlpのデフォルト)
ytdlp.noResizeBuffer().run(); //バッファサイズを自動的に調整しない

HTTPチャンクサイズの指定 - ==実験的==

HTTPダウンロードの際のチャンクのサイズを指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

このオプションは実験的なオプションです。

関数名: httpChunkSize()

引数の型: String型

yt-dlpのオプション: --http-chunk-size

ytdlp.httpChunkSize('Size').run();

プレイリストの動画をランダムにダウンロードする

プレイリストの動画をランダムな順番でダウンロードできます。

関数名: playlistRandom()

yt-dlpのオプション: --playlistRandom

ytdlp.playlistRandom().run();

プレイリストのエントリーを処理しながらダウンロードする

プレイリストのエントリーを処理しながらプレイリストの動画をダウンロードできます。このオプションを使用すると、%(n_entries)s--playlist-random--playlist-reverseは無効になります。

関数名: lazyPlaylist()noLazyPlaylist()

yt-dlpのオプション: --lazy-playlist--no-lazy-playlist

ytdlp.lazyPlaylist().run(); //プレイリストのエントリーを処理しながらダウンロードする
ytdlp.noLazyPlaylist().run(); //プレイリストの解析が終了してからダウンロードする(yt-dlpのデフォルト)

予想されるファイルサイズの書き込み

拡張ファイル属性に予想されるファイルサイズを書き込むことができます。

関数名: xattrSetFileSize()

yt-dlpのオプション: --xattr-set-filesize

ytdlp.xattrSetFileSize().run();

hls動画にmpegtsコンテナを使用する

hls動画にmpegtsコンテナを使用することができます。

関数名: hlsUseMpegts()noHlsUseMpegts()

yt-dlpのオプション: --hls-use-mpegts--no-hls-use-mpegts

ytdlp.hlsUseMpegts().run(); //hls動画にmpegtsコンテナを使用する(ライブ配信の場合はyt-dlpのデフォルト)
ytdlp.noHlsUseMpegts().run(); //hls動画にmpegtsコンテナを使用しない(ライブ配信以外の場合はyt-dlpのデフォルト)

一致するチャプターのみダウンロードする

動画のチャプターのタイトルが正規表現にマッチしたチャプターのみをダウンロードできます。このオプションには、何かしらの値を指定する必要があります。

関数名: downloadSections()

引数の型: String型

yt-dlpのオプション: --download-sections

ytdlp.downloadSections('Regex').run();

使用するダウンローダー・プロトコルの指定

使用する外部ダウンローダーの名前、パスと使用するプロトコルを指定できます。このオプションには、何かしらの値を指定する必要があり、複数回の指定が可能です。このオプションは、どちらの関数を指定しても同じ結果となります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: downloader()externalDownloader()

引数の型: String型

yt-dlpのオプション: --downloader--external-downloader

ytdlp.downloader('[Proto:]Name').run();
ytdlp.externalDownloader('[Proto:]Name').run();

使用するダウンローダーへ引数を与える

使用するダウンローダーに引数を与えることができます。このオプションには、何かしらの値を指定する必要があり、複数回の指定が可能です。このオプションは、どちらの関数を指定しても同じ結果となります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: downloaderArgs()externalDownloaderArgs()

引数の型: String型

yt-dlpのオプション: --downloader-args--external-downloader-args

ytdlp.downloaderArgs('Name:Args').run();
ytdlp.externalDownloaderArgs('Name:Args').run();

ファイルシステムオプション - 公式ドキュメント


ダウンロードする動画URLを記述したファイルを指定する

動画URLを記述したファイルを指定してまとめてダウンロードできます。このオプションには、何かしらの値を指定する必要があります。--no-batch-fileはバッチファイルを無視します。

関数名: batchFile()noBatchFile()

引数の型: String型

yt-dlpのオプション: -a--batch-file--no-batch-file

ytdlp.batchFile('File').run(); //ファイルを指定してダウンロードする
ytdlp.noBatchFile().run(); //バッチファイルからURLを読み込まない(yt-dlpのデフォルト)

ダウンロード先のパスの指定

ファイルをダウンロードするパスを指定できます。このオプションには、何かしらの値を指定する必要があります。このオプションは、--outputオプションが絶対パスの場合、無効になります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: paths()

引数の型: String型

yt-dlpのオプション: -P--paths

ytdlp.paths('[Types:]Path').run();

ファイル名のテンプレートを指定する

ファイル名のテンプレートを指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: output()

引数の型: String型

yt-dlpのオプション: -o--output

ytdlp.output('[Types:]Template').run();

テンプレートで使用できない変数がある場合の指定

上記(--output)オプションで指定したテンプレート名で使用できないものを、指定された文字で置き換えることができます。このオプションには、何かしらの値を指定する必要があります。

関数名: outputNaPlaceholder()

引数の型: String型

yt-dlpのオプション: --output-na-placeholder

ytdlp.outputNaPlaceholder('Text').run();

ファイル名をASCII文字に限定する

ファイル名をASCII文字のみにすることができます。このオプションを指定すると&やスペース等、ASCII文字ではないものは使用されなくなります。

関数名: restrictFilenames()noRestrictFilenames()

yt-dlpのオプション: --restrict-filenames--no-restrict-filenames

ytdlp.restrictFilenames().run(); //ASCII文字に限定する
ytdlp.noRestrictFilenames().run(); //ASCII文字に限定しない(yt-dlpのデフォルト)

ファイル名をWindows互換にする

ファイル名を強制的にWindows互換にすることができます。windowsFilenames()を指定するとどのような場合でもファイル名をWindows互換にします。

関数名: windowsFilenames()noWindowsFilenames()

yt-dlpのオプション: --windows-filenames--no-windows-filenames

ytdlp.windowsFilenames().run(); //どのような場合でもWindows互換にする
ytdlp.noWindowsFilenames().run(); //Windowsの場合のみWindows互換にする(yt-dlpのデフォルト)

ファイル名の長さを制限する

ファイル名の長さ(拡張子を除いて)を指定された文字数までに制限できます。このオプションには、何かしらの値を指定する必要があります。

関数名: trimFilenames()

引数の型: String型Number型

yt-dlpのオプション: --trim-filenames

ytdlp.trimFilenames('Length').run();

ファイルを上書きしない

同じファイルが存在する際に一切上書きさせないことができます。

関数名: noOverwrites()

yt-dlpのオプション: -w--no-overwrites

ytdlp.noOverwrites().run();

ファイルを上書きする

動画ファイルおよびメタデータのファイルを全て上書きします。noForceOverwrites()を指定すると関連ファイルのみが上書きされます。

関数名: forceOverwrites()noForceOverwrites()

yt-dlpのオプション: --force-overwrites--no-force-overwrites

ytdlp.forceOverwrites().run(); //全て上書き
ytdlp.noForceOverwrites().run(); //関連ファイルのみ上書き(yt-dlpのデフォルト)

部分的にダウンロードされたファイル/フラグメントを再開する

部分的にダウンロードされた動画を途中からダウンロードを再開できます。

関数名: continue()noContinue()

yt-dlpのオプション: -c--continue--no-continue

ytdlp.continue().run(); //途中から再開する(yt-dlpのデフォルト)
ytdlp.noContinue().run(); //途中から再開しない

.partファイルを使用する

ダウンロードの際に.partファイルを使用することができます。

関数名: part()noPart()

yt-dlpのオプション: --part--no-part

ytdlp.part().run(); //.partファイルを使用する(yt-dlpのデフォルト)
ytdlp.noPart().run(); //.partファイルを使用せずファイルに直接書き込む

ファイルの更新日時の指定

ファイルの更新日時をLast-modifiedヘッダーの値にすることができます。

関数名: mtime()noMtime()

yt-dlpのオプション: --mtime--no-mtime

ytdlp.mtime().run(); //更新日時をLast-modifiedヘッダーの値にする(yt-dlpのデフォルト)
ytdlp.noMtime().run(); //更新日時をLast-modifiedヘッダーの値にしない

動画の説明を別ファイルに書き込む

動画の説明を.descriptionファイルに書き込むことができます。

関数名: writeDescription()noWriteDescription()

yt-dlpのオプション: --write-description--no-write-description

ytdlp.writeDescription().run(); //.descriptionファイルに書き込む
ytdlp.noWriteDescription().run(); //.descriptionファイルに書き込まない(yt-dlpのデフォルト)

動画のメタデータを別ファイルに書き込む

動画のメタデータを.info.jsonファイルに書き込むことができます。(個人情報が含まれる可能性があります。)

関数名: writeInfoJson()noWriteInfoJson()

yt-dlpのオプション: --write-info-json--no-write-info-json

ytdlp.writeInfoJson().run(); //.info.jsonに書き込む
ytdlp.noWriteInfoJson().run(); //.info.jsonに書き込まない(yt-dlpのデフォルト)

ファイル名等のプライベートなデータを削除したい場合は以下のオプションを使用します。(このオプションを使用しても個人情報等が完全に削除されるわけではありません。)

関数名: cleanInfoJson()noCleanInfoJson()

yt-dlpのオプション: --clean-info-json--no-clean-info-json

ytdlp.cleanInfoJson().run(); //プライベートなデータを削除する(yt-dlpのデフォルト)
ytdlp.noCleanInfoJson().run(); //プライベートなデータを削除せずに全てのデータを書き込む

プレイリストのメタデータを書き込む

writeDescription()writeInfoJson()を使用する際にプレイリストのメタデータも書き込むかを指定できます。

関数名: writePlaylistMetafiles()noWritePlaylistMetafiles()

yt-dlpのオプション: --write-playlist-metafiles--no-write-playlist-metafiles

ytdlp.writePlaylistMetafiles().run(); //プレイリストのメタデータを書き込む(yt-dlpのデフォルト)
ytdlp.noWritePlaylistMetafiles().run(); //プレイリストのメタデータを書き込まない

コメントを.info.jsonに書き込む

動画のコメントを.info.jsonに書き込むことができます。

関数名: writeComments()getComments()noWriteComments()noGetComments()

yt-dlpのオプション: --write-comments--get-comments--no-write-comments--no-get-comments

/* コメントを.info.jsonに書き込む(どちらの関数の結果は同じです。) */
ytdlp.writeComments().run();
ytdlp.getComments().run();

/* コメントを.info.jsonに書き込まない(どちらの関数の結果は同じです。) */
ytdlp.noWriteComments().run();
ytdlp.noGetComments().run();

.info.jsonから情報を読み込む

.info.jsonのファイルパスから動画情報を読み込みます。書き込みは、writeInfoJson()を使用して書き込むことができます。このオプションには、何かしらの値を指定する必要があります。

関数名: loadInfoJson()

引数の型: String型

yt-dlpのオプション: --load-info-json

ytdlp.loadInfoJson('File').run();

クッキーを読み込む

クッキーを読み込むかを指定できます。読み込む場合は、何かしらの値を指定する必要があります。

関数名: cookies()noCookies()

引数の型: String型

yt-dlpのオプション: --cookies--no-cookies

ytdlp.cookies('File').run(); //クッキーを読み込む
ytdlp.noCookies().run(); //クッキーを読み込まない(yt-dlpのデフォルト)

ブラウザからクッキーを読み込む

ブラウザからクッキーを読み込むことができます。読み込む場合は、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: cookiesFromBrowser()noCookiesFromBrowser()

引数の型: String型

yt-dlpのオプション: --cookies-from-browser --no-cookies-from-browser

ytdlp.cookiesFromBrowser('Browser[+Keyring][:Profile][::Container]').run(); //ブラウザからクッキーを読み込む
ytdlp.noCookiesFromBrowser().run(); //ブラウザからクッキーを読み込まない(yt-dlpのデフォルト)

キャッシュの保存先の指定

ダウンロードした情報を永久に保存するディレクトリパスを指定できます。指定する場合は、何かしらの値を指定する必要があります。

関数名: cacheDir()noCacheDir()rmCacheDir()

引数の型: String型

yt-dlpのオプション: --cache-dir--no-cache-dir--rm-cache-dir

ytdlp.cacheDir('Dir').run(); //キャッシュを保存する
ytdlp.noCacheDir().run(); //キャッシュを保存しない
ytdlp.rmCacheDir().run(); //キャッシュを保存せず、すべて削除する

サムネイルオプション - 公式ドキュメント


サムネイルのダウンロード

サムネイル画像をダウンロードすることができます。writeAllThumbnails()を使用すると全ての形式のサムネイル画像がダウンロードされます。

関数名: writeThumbnail()writeAllThumbnails()noWriteThumbnail()

yt-dlpのオプション: --write-thumbnail--write-all-thumbnails--no-write-thumbnail

ytdlp.writeThumbnail().run(); //サムネイルをダウンロードする
ytdlp.writeAllThumbnails().run(); //全てのサムネイルをダウンロードする
ytdlp.noWriteThumbnail().run(); //サムネイルをダウンロードしない(yt-dlpのデフォルト)

サムネイルのリストアップ

指定された動画の利用可能なサムネイルをリストアップします。

関数名: listThumbnails()

yt-dlpのオプション: --list-thumbnails

ytdlp.listThumbnails().run();

インターネットショートカットオプション - 公式ドキュメント


インターネットショートカットの書き込み

インターネットショートカットを書き込むことができます。

関数名: writeLink()writeUrlLink()writeWeblocLink()writeDesktopLink()

yt-dlpのオプション: --write-link--write-url-link--write-webloc-link--write-desktop-link

ytdlp.writeLink().run(); //プラットフォームに応じてインターネットショートカットの種類を変えて書き込む
ytdlp.writeUrlLink().run(); //Windowsのインターネットショートカットを書き込む
ytdlp.writeWeblocLink().run(); //MacOSのインターネットショートカットを書き込む
ytdlp.writeDesktopLink().run(); //Linuxのインターネットショートカットを書き込む

冗長性・シミュレーションオプション - 公式ドキュメント


ログの出力を最小限にする

yt-dlpの出力するログを最小限することができます。このオプションは、verbose()と一緒に使用するとログをstderrに出力します。

関数名: quiet()

yt-dlpのオプション: -q--quiet

ytdlp.quiet().run();

警告を無視する

yt-dlpによる警告を完全に無視します。

関数名: noWarnings()

yt-dlpのオプション: --no-warnings

ytdlp.noWarnings().run();

実行をシミュレートのみにする

simulate()を使用するとシミュレートのみが実行され、ダウンロードも書き込みも実行されません。

関数名: simulate()noSimulate()

yt-dlpのオプション: -s--simulate--no-simulate

ytdlp.simulate().run(); //シュミレーションのみを実行する
ytdlp.noSimulate().run(); //一覧表示等のオプションを使用しても動画をダウンロードする

「No video formats」エラーを無視する - ==実験的==

「No video formats」のエラーを無視することができます。実際にダウンロードできない動画でもメタデータを抽出するのに便利です。

このオプションは実験的なオプションです。

関数名: ignoreNoFormatsError()noIgnoreNoFormatsError()

yt-dlpのオプション: --ignore-no-formats-error--no-ignore-no-formats-error

ytdlp.ignoreNoFormatsError().run(); //エラーを無視する
ytdlp.noIgnoreNoFormatsError().run(); //エラーを無視しない(yt-dlpのデフォルト)

動画をダウンロードせず、関連ファイルのみを書き込む

動画のダウンロードをスキップし、その他関連ファイルのみを書き込みます。

関数名: skipDownload()noDownload()

yt-dlpのオプション: --skip-download--no-download

ytdlp.skipDownload().run();
ytdlp.noDownload().run();

テンプレートで指定された動画の諸情報を表示する

シュミレーションするだけだが、テンプレートを使用して指定された動画の諸情報を表示する。このオプションは、複数回指定することができます。

関数名: print()

引数の型: String型

yt-dlpのオプション: -O--print

ytdlp.print('[When:]Template').run();

テンプレートで指定された動画の諸情報をファイルに書き込む

シュミレーションするだけだが、テンプレートを使用して指定された動画の諸情報をファイルに書き込むことができます。このオプションは、複数回指定することができます。

関数名: printToFile()

引数の型: String型

yt-dlpのオプション: --print-to-file

ytdlp.printToFile('[When:]Template File').run();

各動画のJSON情報を表示する

各動画のJSON情報を表示します。指定されたURLに対してのJSON情報がほしい場合は、dumpSingleJson()を使用してください。

関数名: dumpJson()

yt-dlpのオプション: -j--dump-json

ytdlp.dumpJson().run();

URLのJSON情報を表示する

指定されたURLのJSON情報を表示します。各動画のJSON情報がほしい場合は、dumpJson()を使用してください。

関数名: dumpSingleJson()

yt-dlpのオプション: -J--dump-single-json

ytdlp.dumpSingleJson().run();

シュミレーションオプションが指定されていてもダウンロードアーカイブのエントリーを書き込む

シュミレーションでの実行でもエラーが発生しない限りダウンロードアーカイブにエントリーを記述します。このオプションは、どちらの関数を指定しても同じ結果となります。

関数名: forceWriteArchive()forceDownloadArchive()

yt-dlpのオプション: --force-write-archive--force-download-archive

ytdlp.forceWriteArchive().run();
ytdlp.forceDownloadArchive().run();

進捗状況を新しい行に出力する

進捗状況(プログレスバー)を改行して出力できます。

関数名: newline()

yt-dlpのオプション: --newline

ytdlp.newline().run();

進捗状況を表示しない

進捗状況を表示したくない場合は、noProgress()を使用してください。progress()を使用するとquiet()が適応されていても進捗状況を表示します。

関数名: noProgress()progress()

yt-dlpのオプション: --no-progress--progress

ytdlp.noProgress().run(); //進捗状況を表示しない
ytdlp.progress().run(); //quiet()を適応していても進捗状況を表示する

コンソールタイトルを進捗状況にする

コンソールのタイトルバーを進捗状況にすることができます。

関数名: consoleTitle()

yt-dlpのオプション: --console-title

ytdlp.consoleTitle().run();

進捗状況のテンプレートを指定する

進捗状況をテンプレートで指定することができます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: progressTemplate()

引数の型: String型

yt-dlpのオプション: --progress-template

ytdlp.progressTemplate('[Types:]Template').run();

デバッグ情報を表示する

ダウンロード等に関する各種デバッグ情報を表示できます。

関数名: verbose()

yt-dlpのオプション: -v--verbose

ytdlp.verbose().run();

ダウンロードしたページをbase64エンコードしたものを表示する

ダウンロードしたページを、base64エンコードしたものを表示できます。このオプションは、問題のデバッグに使用されます。ファイルに書き込む必要がある場合は、writePages()を使用してください。

関数名: dumpPages()

yt-dlpのオプション: --dump-pages

ytdlp.dumpPages().run();

ダウンロードしたページを実行中のディレクトリに書き込む

ダウンロードした中間ページをyt-dlpを実行しているディレクトリに書き込みます。このオプションは、問題のデバッグに使用されます。base64でログに出力する必要がある場合は、dumpPages()を使用してください。

関数名: writePages()

yt-dlpのオプション: --write-pages

ytdlp.writePages().run();

HTTPの送受信トラフィックを表示する

HTTPの送受信トラフィックを表示する必要がある場合は、このオプションを使用してください。

関数名: printTraffic()

yt-dlpのオプション: --print-traffic

ytdlp.printTraffic().run();

回避オプション - 公式ドキュメント


エンコーディングの指定 - ==実験的==

指定されたエンコーディングの使用を強制できます。このオプションには、何かしらの値を指定する必要があります。

このオプションは実験的なオプションです。

関数名: encoding()

引数の型: String型

yt-dlpのオプション: --encoding

ytdlp.encoding('Encoding').run();

TLS拡張をサポートしていないサーバーへのHTTPS接続を許可する

RFC 5746 secure renegotiationをサポートしないサーバーへのHTTPS接続を許可する必要がある場合は、このオプションを使用してください。

関数名: legacyServerConnect()

yt-dlpのオプション: --legacyServerConnect

ytdlp.legacyServerConnect().run();

HTTPS証明書の検証をしない

HTTPS証明書の検証をスキップしたい場合は、このオプションを使用してください。

関数名: noCheckCertificates()

yt-dlpのオプション: --no-check-certificates

ytdlp.noCheckCertificates().run();

暗号化されていない接続を使用して動画情報を取得する(YouTubeのみのサポート)

暗号化されていない接続を使用して動画情報を取得できます。このオプションは、現在YouTubeのみのサポートとなっています。

関数名: preferInsecure()

yt-dlpのオプション: --prefer-insecure

ytdlp.preferInsecure().run();

カスタムHTTPヘッダーの指定

追加してHTTPヘッダーを指定する必要がある場合は、このオプションを使用してください。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: addHeaders()

引数の型: String型

yt-dlpのオプション: --add-headers

ytdlp.addHeaders('Field:Value').run();

双方向性テキストに対応していないデバイスを回避する

アラビア語などの右から書く言語等を扱うときにこのオプションを使用してください。詳細はyt-dlpの公式ドキュメントをご覧ください。

関数名: bidiWorkaround()

yt-dlpのオプション: --bidi-workaround

ytdlp.bidiWorkaround().run();

データ抽出中のリクエストの間に一時停止する時間の指定

データ抽出中のリクエストの間に一時停止する時間を指定できます。このオプションには、秒数を指定してください。

関数名: sleepRequests()

引数の型: String型Number型

yt-dlpのオプション: --sleep-requests

ytdlp.sleepRequests('Seconds').run();

ダウンロード前に指定された時間一時停止する

各ダウンロードの前に一時停止する時間を指定できます。このオプションには、秒数を指定してください。このオプションと、maxSleepInterval()が一緒に使用された場合は一時停止する最小時間となります。

このオプションは、どちらの関数を使用しても同じ結果となります。

関数名: sleepInterval()minSleepInterval()

引数の型: String型Number型

yt-dlpのオプション: --sleep-interval--min-sleep-interval

ytdlp.sleepInterval('Interval').run();
ytdlp.minSleepInterval('Interval').run();

一時停止の最大秒数を指定する

一時停止する時間の最大秒数を指定できます。このオプションには、秒数を指定してください。このオプションは、sleepInterval()minSleepInterval()と一緒に使用することが可能です。一緒に使用すると、sleepInterval()minSleepInterval()一時停止の最小時間の指定オプションとなります。

関数名: maxSleepInterval()

引数の型: String型Number型

yt-dlpのオプション: --max-sleep-interval

ytdlp.maxSleepInterval('Interval').run();

字幕のダウンロード前の一時停止時間の指定

字幕をダウンロードする際の一時停止秒数を指定できます。このオプションには、秒数を指定してください。

関数名: sleepSubtitles()

引数の型: String型Number型

yt-dlpのオプション: --sleep-subtitles

ytdlp.sleepSubtitles('Interval').run();

動画フォーマットオプション - 公式ドキュメント


動画フォーマットを指定する

ダウンロードする動画の映像・音声等のフォーマットを指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: format()

引数の型: String型

yt-dlpのオプション: -f--format

ytdlp.format('Format').run();

bestとみなされるフォーマットの判断基準を指定する

「best」とみなされるフォーマットの判断基準を指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: formatSort()

引数の型: String型

yt-dlpのオプション: -S--format-sort

ytdlp.formatSort('SortOrder').run();

この判断基準を強制したい場合は以下のオプションを使用してください。指定形式等は上記と同じです。

関数名: formatSortForce()SForce()noFormatSortForce()

引数の型: String型

yt-dlpのオプション: --format-sort-force--S-force--no-format-sort-force

/* 強制する */
ytdlp.formatSortForce().run();
ytdlp.SForce().run();

/* 強制しない(yt-dlpのデフォルト) */
ytdlp.noFormatSortForce().run();

複数の動画ストリームを1つのファイルに統合する

複数の動画ストリームを1つのファイルに統合する必要がある場合は、このオプションを使用してください。noVideoMultiStreams()を使用すると1つの動画ストリームに対して1つのファイルがダウンロードされます。

関数名: videoMultiStreams()noVideoMultiStreams()

yt-dlpのオプション: --video-multistreams--no-video-multistreams

ytdlp.videoMultiStreams().run(); //複数の動画ストリームを1つのファイルに統合する
ytdlp.noVideoMultiStreams().run(); //複数の動画ストリームを1つのファイルに統合しない(yt-dlpのデフォルト)

複数の音声ストリームを1つのファイルに統合する

複数の音声ストリームを1つのファイルに統合する必要がある場合は、このオプションを使用してください。noAudioMultiStreams()を使用すると1つの音声ストリームに対して1つのファイルがダウンロードされます。

関数名: audioMultiStreams()noAudioMultiStreams()

yt-dlpのオプション: --video-multistreams--no-video-multistreams

ytdlp.audioMultiStreams().run(); //複数の音声ストリームを1つのファイルに統合する
ytdlp.noAudioMultiStreams().run(); //複数の音声ストリームを1つのファイルに統合しない(yt-dlpのデフォルト)

同じ品質でフリーなフォーマットを優先する

同じ品質でフリーなフォーマットを優先できます。品質に関わりなく優先したい場合は、formatSort('ext')を使用します。

関数名: preferFreeFormats()noPreferFreeFormats()

yt-dlpのオプション: --prefer-free-formats--no-prefer-free-formats

ytdlp.preferFreeFormats().run(); //優先する
ytdlp.noPreferFreeFormats().run(); //優先しない(yt-dlpのデフォルト)

フォーマットをチェックする

動画のフォーマットを利用可能なチェックすることができます。

関数名: checkFormats()checkAllFormats()noCheckFormats()

yt-dlpのオプション: --check-formats--check-all-formats--no-check-formats

ytdlp.checkFormats().run(); //選択されているフォーマットが利用可能かを確認する
ytdlp.checkAllFormats().run(); //全てのフォーマットが利用可能かを確認する
ytdlp.noCheckFormats().run(); //利用可能なフォーマットであることを確認しない(yt-dlpのdエフォート)

利用可能なフォーマットをリストアップする

動画の利用可能なフォーマットをリストアップできます。

関数名: listFormats()

yt-dlpのオプション: --list-formats

ytdlp.listFormats().run();

動画のマージに使用するコンテナを指定する

動画をマージする際に使用するコンテナを指定できます。現時点では、「avi・flv・mkv・mov・mp4・webm」がサポートされています。マージする必要がない場合は無視されます。このオプションには、何かしらの値を指定する必要があります。

関数名: mergeOutputFormat()

引数の型: String型

yt-dlpのオプション: --merge-output-format

ytdlp.mergeOutputFormat('Format').run();

字幕オプション - 公式ドキュメント


字幕ファイルを書き込む

字幕ファイルをディスクに書き込む必要がある場合は、このオプションを使用してください。

関数名: writeSubs()noWriteSubs()

yt-dlpのオプション: --write-subs--no-write-subs

ytdlp.writeSubs().run(); //字幕ファイルを書き込む
ytdlp.noWriteSubs().run(); //字幕ファイルを書き込まない(yt-dlpのデフォルト)

自動生成された字幕を書き込む必要がある場合は、以下のオプションを使用してください。

関数名: writeAutoSubs()writeAutomaticSubs()noWriteAutoSubs()noWriteAutomaticSubs()

yt-dlpのオプション: --write-auto-subs--write-automatic-subs--no-write-auto-subs--no-write-automatic-subs

/* 自動生成された字幕を書き込む */
ytdlp.writeAutoSubs().run();
ytdlp.writeAutomaticSubs().run();

/* 自動生成された字幕を書き込まない(yt-dlpのデフォルト) */
ytdlp.noWriteAutoSubs().run();
ytdlp.noWriteAutomaticSubs().run();

利用可能な字幕をリストアップする

指定された動画で利用可能な字幕をリストアップできます。

関数名: listSubs()

yt-dlpのオプション: --list-subs

ytdlp.listSubs().run();

字幕フォーマットを指定する

フォーマットの優先順位を指定することができます。このオプションには、何かしらの値を指定する必要があります。

関数名: subFormat()

引数の型: String型

yt-dlpのオプション: -sub-format

ytdlp.subFormat('Format').run();

ダウンロードする字幕の言語を指定する

ダウンロードする字幕の言語を指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: subLangs()

引数の型: String型

yt-dlpのオプション: --sub-langs

ytdlp.subLangs('Regex').run();

認証オプション - 公式ドキュメント


ログイン時の設定

ログイン時に、ユーザー名とパスワードを指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: username()password()

引数の型: String型

yt-dlpのオプション: -u--username-p--password

ytdlp.username('Username').run(); //ユーザー名の指定
ytdlp.password('Password').run(); //パスワードの指定

二要素認証コードを指定する

二要素認証コードを指定することができます。このオプションには、何かしらの値を指定する必要があります。

関数名: twofactor()

引数の型: String型

yt-dlpのオプション: -2--twofactor

ytdlp.twofactor('Code').run();

.netrc 認証データを使用する

.netrc 認証データを使用したい場合は、このオプションを使用してください。

関数名: netrc()

引数の型: String型

yt-dlpのオプション: -n--netrc

ytdlp.netrc().run();

.netrc 認証データの場所を既定(~/.netrc)から変更したい場合は、以下のオプションを使用してください。

関数名: netrcLocation()

引数の型: String型

yt-dlpのオプション: --netrc-location

ytdlp.netrcLocation('Path').run();

動画のパスワードを指定する

動画のパスワードを指定する必要がある場合は、このオプションを使用してください。このオプションには、何かしらの値を指定する必要があります。

関数名: videoPassword()

引数の型: String型

yt-dlpのオプション: --video-password

ytdlp.videoPassword('Password').run();

Adobe PrimetimeのTVプロバイダーのIDの指定

Adobe PrimetimeのTVプロバイダーのIDを指定できます。このオプションには、何かしらの値を指定する必要があります。TVプロバイダーのIDをリストアップしたい場合は、apListMso()を使用してください。

関数名: apMso()

引数の型: String型

yt-dlpのオプション: --ap-mso

ytdlp.apMso('Mso').run();

Adobe Primetimeへのログイン設定

Adobe Primetimeへのログイン時に、ユーザー名とパスワードを指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: apUsername()apPassword()

引数の型: String型

yt-dlpのオプション: --ap-username--ap-password

ytdlp.apUsername('Username').run(); //ユーザー名の指定
ytdlp.apPassword('Password').run(); //パスワードの指定

Adobe PrimetimeのTVプロバイダーのIDをリストアップする。

Adobe PrimetimeのTVプロバイダーのIDをリストアップできます。

関数名: apListMso()

引数の型: String型

yt-dlpのオプション: --ap-list-mso

ytdlp.apListMso().run();

PEM形式のクライアント証明書ファイルのパスを指定する

PEM形式のクライアント証明書ファイルのパスを指定できます。このオプションには、何かしらの値を指定する必要があります。秘密鍵を指定したい場合は、clientCertificateKey()を使用してください。

関数名: clientCertificate()

引数の型: String型

yt-dlpのオプション: --client-certificate

ytdlp.clientCertificate('Path').run();

クライアント証明書用の秘密鍵へのファイルパスを指定する

clientCertificate()で指定された証明書の秘密鍵ファイルのパスを指定します。このオプションには、何かしらの値を指定する必要があります。

関数名: clientCertificateKey()

引数の型: String型

yt-dlpのオプション: --client-certificate-key

ytdlp.clientCertificateKey('Path').run();

秘密鍵のパスワードを指定する

clientCertificateKey()で指定された秘密鍵にパスワードが存在する場合は、このオプションを使用してください。このオプションには、何かしらの値を指定する必要があります。

関数名: clientCertificatePassword()

引数の型: String型

yt-dlpのオプション: --client-certificate-password

ytdlp.clientCertificatePassword('Password').run();

ポストプロセッサーオプション - 公式ドキュメント


動画を音声のみにする

動画が含まれるファイルを音声のみに変換できます。このオプションで必要なffmpegとffprobeはこのAPIによって自動でダウンロードされます。

変換先のフォーマットを指定したい場合は、audioFormat()を使用し、音声品質を指定したい場合は、audioQuality()を使用してください。

関数名: extractAudio()

yt-dlpのオプション: -x--extract-audio

ytdlp.extractAudio().run();

音声へ変換後のフォーマットを指定する

extractAudio()を使用して変換された後の音声ファイルのフォーマットを指定できます。このオプションには、「best・aac・alac・flac・m4a・mp3・opus・vorbis・wav」のいずれかを指定する必要があります。(bestがyt-dlpのデフォルト)

関数名: audioFormat()

引数の型: String型

yt-dlpのオプション: --audio-format

ytdlp.audioFormat('Format').run();

音声へ変換する際の品質を指定する

extractAudio()を使用して変換された後の音声ファイルの品質を指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: audioQuality()

引数の型: String型

yt-dlpのオプション: --audio-quality

ytdlp.audioQuality('Quality').run();

動画を別のコンテナへ再マックス(変換)する

必要に応じて動画を別のコンテナへ再マックスできます。このオプションには、「avi・flv・gif・mkv・mov・mp4・webm・aac・aiff・alac・flac・m4a・mka・mp3・ogg・opus・vorbis・wav」のいずれかを指定する必要があります。指定されたコンテナが動画・音声コーデックをサポートしていない場合、処理は失敗します。

関数名: remuxVideo()

引数の型: String型

yt-dlpのオプション: --remux-video

ytdlp.remuxVideo('Format').run();

動画を別のフォーマットに再エンコードする

動画を別のフォーマットに再エンコードできます。このオプションには、何かしらの値を指定する必要があります。指定形式は、remuxVideo()と同じです。

関数名: recodeVideo()

引数の型: String型

yt-dlpのオプション: --recode-video

ytdlp.recodeVideo('Format').run();

ポストプロセッサーに引数を渡す

ポストプロセッサーに引数を渡すことができます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

このオプションは、どちらの関数を使用しても同じ結果となります。

関数名: postProcessorArgs()ppa()

引数の型: String型

yt-dlpのオプション: --postprocessor-args--ppa

ytdlp.postProcessorArgs('Name:Args').run();
ytdlp.ppa('Name:Args').run();

ダウンロードした変換前のファイルを残す

ダウンロードした変換前のファイルを残すことができます。

関数名: keepVideo()noKeepVideo()

yt-dlpのオプション: -k--keep-video--no-keep-video

ytdlp.keepVideo().run(); //変換前のファイルを残す
ytdlp.noKeepVideo().run(); //変換前のファイルを残さない(yt-dlpのデフォルト)

変換後のファイルを上書きする

変換後のファイルを上書きできます。

関数名: postOverwrites()noPostOverwrites()

yt-dlpのオプション: --post-overwrites--no-post-overwrites

ytdlp.postOverwrites().run(); //上書きする(yt-dlpのデフォルト)
ytdlp.noPostOverwrites().run(); //上書きしない

動画に字幕を埋め込む(mp4、webm、mkvのみ)

動画に字幕を埋め込むことができます。(mp4、webm、mkvのみ対応)

関数名: embedSubs()noEmbedSubs()

yt-dlpのオプション: --embed-subs--no-embed-subs

ytdlp.embedSubs().run(); //字幕を埋め込む
ytdlp.noEmbedSubs().run(); //字幕を埋め込まない(yt-dlpのデフォルト)

動画にサムネイルを埋め込む

動画のサムネイルをカバーアートとして埋め込むことができます。

関数名: embedThumbnail()noEmbedThumbnail()

yt-dlpのオプション: --embed-thumbnail--no-embed-thumbnail

ytdlp.embedThumbnail().run(); //サムネイルを埋め込む
ytdlp.noEmbedThumbnail().run(); //サムネイルを埋め込まない(yt-dlpのデフォルト)

動画ファイルにメタデータを埋め込む

動画ファイルにメタデータを埋め込むことができます。

関数名: embedMetadata()addMetadata()noEmbedMetadata()noAddMetadata()

yt-dlpのオプション: --embed-metadata--add-metadata--no-embed-metadata--no-add-metadata

/* メタデータを埋め込む */
ytdlp.embedMetadata().run();
ytdlp.addMetadata().run();

/* メタデータを埋め込まない(yt-dlpのデフォルト) */
ytdlp.noEmbedMetadata().run();
ytdlp.noAddMetadata().run();

動画ファイルにチャプターを埋め込む

動画ファイルにチャプターを埋め込むことができます。

関数名: embedChapters()addChapters()noEmbedChapters()noAddChapters()

yt-dlpのオプション: --embed-chapters--add-chapters--no-embed-chapters--no-add-chapters

/* チャプターを埋め込む */
ytdlp.embedChapters().run();
ytdlp.addChapters().run();

/* チャプターを埋め込まない(yt-dlpのデフォルト) */
ytdlp.noEmbedChapters().run();
ytdlp.noAddChapters().run();

mkv・mkaにinfoJsonを埋め込む

mkv・mkaにinfoJsonを埋め込むことができます。

関数名: embedInfoJson()noEmbedInfoJson()

yt-dlpのオプション: --embed-info-json--no-embed-info-json

ytdlp.embedInfoJson().run(); //埋め込む
ytdlp.noEmbedInfoJson().run(); //埋め込まない

フィールドからメタデータを解析する

フィールドからタイトル等のメタデータを解析できます。このオプションには、何かしらの値を指定する必要があります。詳細は、メタデータの変更をご覧ください。

関数名: parseMetadata()

引数の型: String型

yt-dlpのオプション: --parse-metadata

ytdlp.parseMetadata('[When:]From:To').run();

正規表現でメタデータを書き換える

正規表現でメタデータを書き換えることができます。このオプションには、何かしらの値を指定する必要があります。このオプションは、複数回の指定が可能です。

関数名: replaceInMetadata()

引数の型: String型

yt-dlpのオプション: --replace-in-metadata

ytdlp.replaceInMetadata('[When:]Fields Regex Replace').run();

拡張ファイル属性にメタデータを書き込む

拡張ファイル属性にメタデータを書き込むことができます。

関数名: xattrs()

yt-dlpのオプション: --xattrs

ytdlp.xattrs().run();

プレイリスト内の動画を連結する

プレイリスト内の動画を連結できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: concatPlaylist()

引数の型: String型

yt-dlpのオプション: --concat-playlist

ytdlp.concatPlaylist('Policy').run();

既知の不具合等を自動で修正する

既知の不具合等を自動で修正できます。このオプションには、「never・warn・detect_or_warn・force」のいずれかを指定する必要があります。詳細についてはyt-dlpの公式ドキュメントをご覧ください。

関数名: fixup()

引数の型: String型

yt-dlpのオプション: --fixup

ytdlp.fixup('Policy').run();

ffmpegのバイナリディレクトリの指定

ffmpegのバイナリディレクトリを指定する必要がある場合は、このオプションを使用します。

情報: ffmpegはこのAPIによって自動でダウンロードされるため何か理由がある場合を除き、指定する必要はありません。

関数名: ffmpegLocation()

引数の型: String型

yt-dlpのオプション: --ffmpeg-location

ytdlp.ffmpegLocation('Path').run();

ダウンロード後にコマンドを実行する

動画のダウンロード後にコマンドを実行することができます。詳細についてはyt-dlpの公式ドキュメントをご覧ください。

関数名: exec()noExec()

引数の型: String型

yt-dlpのオプション: --exec--no-exec

ytdlp.exec('[When:]Cmd').run(); //コマンドを定義する
ytdlp.noExec().run(); //exec()で定義された物を削除する

字幕を他のフォーマットに変換する

字幕を他のフォーマットに変換できます。このオプションには、「ass・lrc・srt・vtt」のいずれかを指定する必要があります。

関数名: convertSubs()convertSubtitles()

引数の型: String型

yt-dlpのオプション: --convert-subs--convert-subtitles

ytdlp.convertSubs('Format').run();
ytdlp.convertSubtitles('Format').run();

サムネイルを他のフォーマットに変換する

サムネイルを他のフォーマットに変換できます。このオプションには、「jpg・png・webp」のいずれかを指定する必要があります。詳細はyt-dlpの公式ドキュメントをご覧ください。

関数名: convertThumbnails()

引数の型: String型

yt-dlpのオプション: --convert-thumbnails

ytdlp.convertThumbnails('Format').run();

チャプターごとにファイルを分割する

動画のチャプターごとにファイルを分割できます。

関数名: splitChapters()noSplitChapters()

yt-dlpのオプション: --split-chapters--no-split-chapters

ytdlp.splitChapters().run(); //チャプターごとにファイルを分割する
ytdlp.noSplitChapters().run(); //チャプターごとにファイルを分割しない(yt-dlpのデフォルト)

正規表現に一致するチャプターを削除する

指定された正規表現に一致するチャプターを削除できます。このオプションには、何かしらの値を指定する必要があります。指定形式はdownloadSections()と同じです。

関数名: removeChapters()noRemoveChapters()

引数の型: String型

yt-dlpのオプション: --remove-chapters--no-remove-chapters

ytdlp.removeChapters('Regex').run(); //チャプターを削除する
ytdlp.noRemoveChapters().run(); //チャプターを削除しない(yt-dlpのデフォルト)

チャプターを削除・追加する際にkeyframeを設定し直す

チャプターを削除・追加する際にkeyframeを設定し直すことができます。

関数名: forceKeyframesAtCuts()noForceKeyframesAtCuts()

yt-dlpのオプション: --force-keyframes-at-cuts--no-force-keyframes-at-cuts

ytdlp.forceKeyframesAtCuts().run(); //設定し直す
ytdlp.noForceKeyframesAtCuts().run(); //設定し直さない(yt-dlpのデフォルト)

有効にするポストプロセッサープラグインを指定する

大文字・小文字を区別して有効にするポストプロセッサープラグインの名前を指定できます。このオプションには、何かしらの値を指定する必要があります。指定形式はyt-dlpの公式ドキュメントをご覧ください。

関数名: usePostProcessor()

引数の型: String型

yt-dlpのオプション: --use-postprocessor

ytdlp.usePostProcessor('Name[:Args]').run();

SponsorBlockオプション - 公式ドキュメント


SponsorBlock APIを使用してチャプターを書き込む

SponsorBlock APIを使用してチャプターを書き込むことができます。このオプションには、何かしらのカテゴリを指定する必要があります。指定できるカテゴリは、「sponsor・intro・outro・selfpromo・preview・filler・interaction・music_offtopic・poi_highlight・all」です。このカテゴリの説明については、Segment Categoriesをご覧ください。

関数名: sponsorBlockMark()

引数の型: String型

yt-dlpのオプション: --sponsorblock-mark

ytdlp.sponsorBlockMark('Cats').run();

ここで指定されたチャプターを削除したい場合は、以下のオプションを使用してください。

関数名: sponsorBlockRemove()

引数の型: String型

yt-dlpのオプション: --sponsorblock-remove

ytdlp.sponsorBlockRemove('Cats').run();

sponsorBlockMark()で設定されたチャプターのタイトルテンプレートを指定する

sponsorBlockMark()で設定されたチャプターのタイトルテンプレートを指定できます。このオプションには、何かしらの値を指定する必要があります。利用可能な値は、「start_time・end_time・category・categories・name・category_names」です。

関数名: sponsorBlockChapterTitle()

引数の型: String型

yt-dlpのオプション: --sponsorblock-chapter-title

ytdlp.sponsorBlockChapterTitle('Template').run();

SponsorBlockの特定のオプションを無効にする

sponsorBlockMark()sponsorBlockRemove()を無効にできます。

関数名: noSponsorBlock()

yt-dlpのオプション: --no-sponsorblock

ytdlp.noSponsorBlock().run();

SponsorBlock APIのURLを指定する

SponsorBlock APIのURLを指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: sponsorBlockApi()

yt-dlpのオプション: --sponsorblock-api

ytdlp.sponsorBlockApi().run();

Extractor オプション - 公式ドキュメント


Extractorのエラーに対する再試行回数の指定

Extractorのエラーに対する再試行回数を指定できます。このオプションには、何かしらの値を指定する必要があります。

関数名: extractorRetries()

引数の型: String型Number型

yt-dlpのオプション: --extractor-retries

ytdlp.extractorRetries('Retries').run();

ライブストリーム(ダイナミック)DASHマニフェストを処理する

ライブストリーム(ダイナミック)DASHマニフェストを処理できます。

関数名: allowDynamicMpd()noIgnoreDynamicMpd()ignoreDynamicMpd()noAllowDynamicMpd()

yt-dlpのオプション: --allow-dynamic-mpd--no-ignore-dynamic-mpd--ignore-dynamic-mpd--no-allow-dynamic-mpd

//ライブストリーム(ダイナミック)DASHマニフェストを処理する(yt-dlpのデフォルト)
ytdlp.allowDynamicMpd().run();
ytdlp.noIgnoreDynamicMpd().run();

//ライブストリーム(ダイナミック)DASHマニフェストを処理しない
ytdlp.ignoreDynamicMpd().run();
ytdlp.noAllowDynamicMpd().run();

HLS形式の動画を不連続部分で異なるフォーマットに分割する

HLS形式の動画を広告などの不連続部分で異なるフォーマットに分割することができます。

関数名: hlsSplitDiscontinuity()noHlsSplitDiscontinuity()

yt-dlpのオプション: --hls-split-discontinuity--no-hls-split-discontinuity

ytdlp.hlsSplitDiscontinuity().run(); //異なるフォーマットに分割する
ytdl