# 作った理由
いちいちオプションを覚えて、打つのも面倒だし長いので、自分で使うPCには Shell Script で自動化できるようにスクリプトがあるけど、他人にそれを渡しても環境がないなど、いろいろ不都合なことがあるので、バイナリで作ろうとなって作りました。
# 対象
- Widnows
- Python製
youtube-dl
を使っている(ダウンロードしている)人
# ytdlx の特徴
- URL(ID) 以外に URL(ID) が列挙されたファイルを指定することができる。
- デフォルトでは、プレイリストのURLを指定してもプレイリスト全体をダウンロードしない。
# 例
URL(ID) を列挙したファイルを作成する。(
AAA
はID)# url_list.txt https://youtu.be/AAA # comment https://youtu.be/BBB CCC # DDD
TIP
#
以降の文字列は無視するため、実行されるのは以下の3つになる。https://youtu.be/AAA https://youtu.be/BBB CCC
実行
ytdlx ./url_list.txt
TIP
実行時は、ファイルとURL(ID) を同時に指定できる。
ytdlx ./url_list.txt DDD EEE
# 実行に必要なもの
youtube-dl
scoop install youtube-dl # using Scoop # OR choco install youtube-dl # using Chocolatey # OR pip install youtube-dl # using pip
FFmpeg
scoop install ffmpeg # using Scoop # OR choco install ffmpeg # using Chocolatey
パッケージマネージャを使わない場合は、サイトからバイナリをダウンロードする。その方法は省略。
# ytdlx のインストール
- Release (opens new window) から
ytdlx.exe
をダウンロードする。 - パスを通す
# 使い方
以下、
URL
はURL | ID | FILE_PATH
と同じ。
An application to make youtube-dl easy to use.
Usage:
ytdlx [URL | ID | FILE_PATH] [flags]
Flags:
-a, --audio Download audio format only
-e, --ext string Specify download extension (e.g. m4a, mp3, mp4, ogg, webm)
-F, --format-list Show available format list
-h, --help help for ytdlx
-o, --output string Output filename
-p, --playlist Download the playlist (option: --yes-playlist)
-s, --select Download selected format
-v, --video Download video format only
# 1. 基本的なオプション
# 1-1. Default
何もオプションを指定しない。
デフォルトのフォーマットでダウンロードされる。
ytdlx [URL]
# 1-2. Audio
音ファイルのみをダウンロードする。
ytdlx -a [URL]
# OR
ytdlx --audio [URL]
# 1-3. Video
映像ファイルのみをダウンロードする。
ytdlx -v [URL]
# OR
ytdlx --video [URL]
# 1-4. Select
ダウンロードオプションを実行時 fzf を使って選択する。(上下キーで移動、Enterで選択)
ytdlx -s [URL]
# OR
ytdlx --select [URL]
# 1-5. Playlist
プレイリスト全体をダウンロードする。
tydlx -p [URL]
# OR
ytdlx --playlist [URL]
# 2. その他のオプション
# 2-1. Output name
保存時のファイル名を指定する。
ytdlx [Any_option] [URL] -o [Output_name]
# OR
ytdlx [Any_option] [URL] --output [Output_name]
WARNING
ただし、同じファイル名を防ぐために、ファイル名の後にIDもつく。
[Output_name]-[ID].[ext]
となる。
ytdlx AAA -o output
# => output-AAA.mp4
# 2-2. Extension
保存するファイルの拡張子を指定する。
ytdlx [URL] -e <Extension>
# OR
ytdlx [URL] --ext <Extension>
WARNING
ただし、YouTube上にその拡張子でダウンロードできるフォーマット(拡張子)がない場合は、指定した拡張子以外のファイルがダウンロードされる。
# m4aがある場合
ytdlx --audio [URL] -e m4a
# => AAA.m4a
# m4aがない場合
ytdlx --audio [URL] -e m4a
# => AAA.webm
# 2-3. Format list
youtube-dl -F [URL]
と同じ動作をする。(ダウンロードはしない)
ytdlx -F [URL]
# OR
ytdlx --format-list [URL]
# オプションの内部解釈
見たい人は見てください。
-ci
==--continue --ignore-errors
# 1. Default
ytdlx [URL]
youtube-dl -f bestvideo+bestaudio/best --merge-output-format mp4 [URL] --no-playlist -ci
# 2. Audio
ytdlx --audio [URL]
youtube-dl -f bestaudio[ext=m4a]/bestaudio [URL] --no-playlist -ci
ext オプションによる指定がある場合
ytdlx --audio [URL] --ext webm
youtube-dl -f bestaudio[ext=webm]/bestaudio [URL] --no-playlist -ci
# 3. Video
ytdlx --video [URL]
youtube-dl -f bestvideo[ext=mp4]/bestvideo [URL] --no-playlist -ci
ext オプションによる指定がある場合
ytdlx --video [URL] --ext webm
youtube-dl -f bestvideo[ext=webm]/bestvideo [URL] --no-playlist -ci
# 4. Playlist
ytdlx [URL] --playlist
youtube-dl -f bestvideo+bestaudio/best --merge-output-format mp4 [URL] --yes-playlist -ci
# 5. Output name
ytdlx [URL] --output output
youtube-dl -f bestvideo+bestaudio/best --merge-output-format mp4 [URL] -o output-%(id)s.%(ext)s
# 6. Format list
ytdlx -F [URL]
youtube-dl -F [URL]