これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2025/07/30 08:17:51.269 (台灣標準時)
yt-dlp というコマンドで YouTube の動画をダウンロードしようとしたら、以 下のようなメッセージが表示されたでござる。
% yt-dlp -o tenrabansho_111 'https://www.youtube.com/watch?v=o3v-5mro9ZY' [youtube] Extracting URL: https://www.youtube.com/watch?v=o3v-5mro9ZY [youtube] o3v-5mro9ZY: Downloading webpage [youtube] o3v-5mro9ZY: Downloading ios player API JSON [youtube] o3v-5mro9ZY: Downloading mweb player API JSON [youtube] o3v-5mro9ZY: Downloading player 5ae7d525 [youtube] o3v-5mro9ZY: Downloading m3u8 information WARNING: ffmpeg not found. The downloaded format may not be the best available. Installing ffmpeg is strongly recommended: https://github.com/yt-dlp/yt-dlp#dependencies [info] o3v-5mro9ZY: Downloading 1 format(s): 18 [download] Got error: HTTP Error 503: Service Unavailable. Retrying (1/10)... [download] Destination: tenrabansho_111 [download] 100% of 22.71MiB in 00:00:32 at 711.89KiB/s
「ffmpeg がないでござる」と言われているでござる。実は、 ffmpeg はイン ストールされているのでござるが、 pkgsrc で ffmpeg をインストールすると、 インストールされる実行ファイルは ffmpeg7 や ffmpeg6 というように、バー ジョンの番号がついたファイル名になっていて、 ffmpeg というファイル名で はないでござる。
yt-dlp が ffmpeg という実行ファイルの存在を期待するのであれば、 pkgsrc で ffmpeg のいずれかのバージョンをインストールしたときに、 ffmpeg7 (或 いは ffmpeg6, 或いは ffmpeg5, .....) というファイルを指し示す ffmpeg というシンボリックリンクも作られるようになっているとよいと思ったでござ る。或いは、 yt-dlp に対して、 ffmpeg が見つからなくても、 ffmpeg7, ffmpeg6, ffmpeg5, ... なども探すようなパッチが当てられるとよいと思った でござる。どちらも簡単に実現させることは難しいのでござろうか。
なお、以下のようにシンボリックリンクを作ってみたところ、 "WARNING: ffmpeg not found. The downloaded format may not be the best available. Installing ffmpeg is strongly recommended: https://github.com/yt-dlp/yt-dlp#dependencies" という WARNING は でなくなったでござる。
# cd /usr/local/bin # ln -s ../../pkg/bin/ffmpeg7 ffmpeg
シンボリックリンク作成後に yt-dlp を実行した結果は以下の通りでござる。
% yt-dlp -o tenrabansho_111 'https://www.youtube.com/watch?v=o3v-5mro9ZY' [youtube] Extracting URL: https://www.youtube.com/watch?v=o3v-5mro9ZY [youtube] o3v-5mro9ZY: Downloading webpage [youtube] o3v-5mro9ZY: Downloading ios player API JSON [youtube] o3v-5mro9ZY: Downloading mweb player API JSON [youtube] o3v-5mro9ZY: Downloading m3u8 information [info] o3v-5mro9ZY: Downloading 1 format(s): 137+251 [download] Destination: tenrabansho_111.f137.mp4 [download] 100% of 138.35MiB in 00:09:08 at 258.08KiB/s [download] Destination: tenrabansho_111.f251.webm [download] 100% of 6.85MiB in 00:00:39 at 179.30KiB/s [Merger] Merging formats into "tenrabansho_111.mkv" Deleting original file tenrabansho_111.f137.mp4 (pass -k to keep) Deleting original file tenrabansho_111.f251.webm (pass -k to keep)
"man yt-dlp" として、 yt-dlp のマニュアルを読んでみたところ、 yt-dlp には "--ffmpeg-location" というオプションがあるようで ござった。ということは、以下のような alias を作っておけばよいようでご ざる。
alias ffmpeg7 'ffmepg7 --ffmpeg-location /usr/pkg/bin/ffmpeg7'
しかし、バージョンごとにエイリアスを作っておかねばならぬので、少々面倒 でござる。
![]() |
---|