Bash

youtube-dlコマンドの使い方・オプションの解説

WindowsおよびLinuxパソコン・サーバーで使用可能なyoutube、ニコニコ動画、bilibili動画やその他動画サイトの動画のダウンロードをサポートするオープンソースプロジェクト、youtube-dlプログラムでのyoutube-dlコマンドの使い方・オプションについて解説、紹介します。

以下。(ファイル出力先のパスなどやURLなど変えてコピペして使えます)

LC_ALL=en_US.UTF-8 \
youtube-dl -i -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' -v \
-o "/mnt/e/_videos/_youtube_dl/tmp/%(id)s--%(title)s--%(uploader)s.%(ext)s" \
--cookies /home/data/youtube-dl/cookie.txt --download-archive /home/data/youtube-dl/archive.txt \
--embed-subs --embed-thumbnail --write-info-json --all-subs --sub-format srt \
"[URL]"

解説。

# In a case of containing such as Japanese you'd add this line ; 日本語テキストなどを含んでいる場合には文字コードを指定します。
LC_ALL=en_US.UTF-8 \

youtube-dl -i -f bestaudio -v \

# destination setting up ; ファイルの取得先を設定します
-o "/mnt/e/_videos/_youtube_dl/%(id)s--%(title)s--%(uploader)s.%(ext)s" \

# Use --cookies option when you'd like to dl for private playlist or videos
--cookies /home/data/youtube-dl/cookie.txt --download-archive /home/data/youtube-dl/archive.txt \

# my favorite opts :-) お気に入りのオプション
# embedding subs if exist ; embedding thums to ; create a json file written infomation of the video ; define subtitle format as
--embed-subs --embed-thumbnail --write-info-json --all-subs --sub-format srt \

# not sure. あまり分からない
# --add-metadata  --convert-subs srt

最高画質・最高音質のmp4で保存

-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

ちょっと複雑ですが、簡単に訳すと、

mp4形式とm4a形式で保存する
    if できなかった(mp4はできたがm4aで出力できなかったなど):
        mp4で保存する
            if できなかった:
                フォーマット形式問わず一番良いやつで保存する(なったことわからないので確証はないですがたぶん動画ファイルになるのでは。)

みたいな感じになります。

出力フォルダを変更

-o

文字コード指定で文字化けを防ぐ

LC_ALL=en_US.UTF-8

これしないとタイトルが文字化け
もちろんexportをbashrcに書いてもいいと思う。

cookieを指定する

--cookies cookie.txt 

プライベートな非公開動画を落としたい場合、プライベートなプレイリスト等の場合、Cookieを指定してやります。

こちらの拡張機能をインストールし、youtubeにアクセスし、開くと、Cookieが一覧されたテキストデータが表示されるので、これを全選択してやる。

cookies.txt – Chrome Web Store

cat > /home/data/youtube-dl/cookie.txtなどでペースト。

youtube-dlに--cookies /home/data/youtube-dl/cookie.txtをつけてやるとCookieを自動で付けて非公開URLにアクセスしてきてくれる。

Liked video(高く評価した動画)などによく使用する事が多い。

字幕保存・サムネイル保存・動画情報保存・字幕ファイル保存

--embed-subs --embed-thumbnail --write-info-json --all-subs --sub-format srt 

こちらは好みですが、もし動画が消された時、あーもっと情報ほしかったなぁ…となることがあるので、保存できるものはしておくほうが良いと思います。
--embed-subsは無いほうがいいかもしれなかったですね。各自消してください。

一度ダウンロードした動画をスキップする

--download-archive /home/data/youtube-dl/archive.txt 

一度ダウンロードしたURLはアーカイブに保管して、再度ダウンロードするときにアーカイブにURLがあればスキップする、というものです。
つまり重複ダウンロードを防ぎます。

アーカイブをリセットしたいときは> archive.txt


よかったら。


ydl(){
    LC_ALL=en_US.UTF-8 \
    youtube-dl -i -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' -v \
    -o "/mnt/e/_videos/_youtube_dl/tmp/%(id)s--%(title)s--%(uploader)s.%(ext)s" \
    --cookies /home/data/youtube-dl/cookie.txt --download-archive /home/data/youtube-dl/archive.txt \
    --embed-subs --embed-thumbnail --write-info-json --all-subs --sub-format srt \
    "$(cuturlquerystr "$1")"
}

alias ydlarcbak="cp /home/data/youtube-dl/archive.txt /home/data/youtube-dl/archive.txt.$(plaindate).bak"

関連記事:

yt-dlpでyoutube-dlでエラーになる動画もダウンロード
youtube-dlでニコニコ動画をダウンロードする
youtube-dlを使いVLCで動画をストリーミング再生
streamlinkでYoutube動画をVLCでストリーミング再生

関連広告:

Pythonコース by テックアカデミー
Pythonコース by Udemy

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です