【Python】yt-dlpで動画のダウンロード先を指定する方法

code coder coding computer

yt-dlpでPythonプログラムをいダウンロード先指定する方法で結構困ったので、備忘録として書いておきます。

単純な話しなのですぐに終わります。

目次

yt-dlpでダウンロード先を指定したが反映されない

yt-dlpを使って動画をダウンロードして指定の場所に名前を変更して保存しようとググって「output」オプションを使えばできそうだなと思い試してみたのですが、全然指定された場所に保存されないという困ったことが発生しました。

その時のプログラムはコレです。

from yt_dlp import YoutubeDL

video_id = '動画ID'

download_url = 'https://www.youtube.com/watch?v=' + video_id + "'"

ydl_opts = {
            'output': '[指定先のPath]%(title)s.%(ext)s'
            }

with YoutubeDL(ydl_opts) as ydl:
    ydl.download([download_url])

原因

2時間ほどネットを探し続けたのですが全く回答が見当たらず、たまたま海外のstackoverflowを見つけて、そもそも書き方が違うということに気づきました。

原因は「output」ではなく「outtmpl」が正解でした。。

https://stackoverflow.com/questions/35643757/how-to-set-directory-in-ydl-opts-in-using-youtube-dl-in-python

公式サイトにはそんなこと書いてない。。

公式

対処法

原因は分かったので対処は簡単です。

というわけでプログラムを修正して実行したら無事指定したパスに指定した名前でダウロードできました。

from yt_dlp import YoutubeDL

video_id = '動画ID'

download_url = 'https://www.youtube.com/watch?v=' + video_id + "'"

ydl_opts = {
            'format': '22',
            'outtmpl': '[指定先のPath]%(id)s.%(ext)s'
            }

with YoutubeDL(ydl_opts) as ydl:
    ydl.download([download_url])

「outtmpl」はそもそも、yt-dlpの元となったyoutube-dlのコマンド何ですね。
最初からこれ見ておけばすぐに解決できたのに。。

同じように困ってる方がこれで解決できれば幸いです。

以上です。ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

30歳未経験からネットワークエンジニアに転職し、運用→構築→設計の仕事をやってます。色んな機器(Cisco、YAMAHA、Fortigate、PaloAlto)を触らせてもらいとても楽しい仕事です!

現在は派遣にて主にCiscoを中心としたネットワーク設計~構築をしております。

また、2023年より副業で個人事業主や小規模企業からのパソコン設定~ネットワーク作業の仕事を請け負っておりますので、もしお困りの方がいましたらお気軽にお問い合わせください。

●今までの作業履歴
- パソコンの新旧入れ替え
- 拠点間のインターネットVPN接続(YAMAHA-Fortigate)

コメント

コメントする

目次