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」が正解でした。。
公式サイトにはそんなこと書いてない。。
対処法
原因は分かったので対処は簡単です。
というわけでプログラムを修正して実行したら無事指定したパスに指定した名前でダウロードできました。
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のコマンド何ですね。
最初からこれ見ておけばすぐに解決できたのに。。
同じように困ってる方がこれで解決できれば幸いです。
以上です。ありがとうございました。
コメント