YtDownloaderでYouTube動画保存~他の多くのサイトにも対応している動画ダウンローダー

プログラミング PC
プログラミング

以前、debian GNU/Linuxデスクトップ環境でYtDownloaderを使ってYouTube動画を手元に保存しておいて、VLCメディアプレーヤー等で好きなタイミングで(ネット接続環境が無くても)視聴できる様なことを記しました。

これがかなり快適にダウンロードできるので、YtDownloader(yt-dlp)の優位性というか、素晴らしさは紹介して置かなきゃいけないなと、改めてWindows用に記しておきます。

実際、Linuxの情報はあまり需要が無いので、アクセスはほとんど有りません。Windowsでも同様にYtDownloaderを使えるので情報としてはほぼ共通なんですけどね。

私のWindows PC環境

中古で第8世代 Intel Core i5のレッツノートを入手して、Windows11環境を使える様になったので、徐々にWindows10環境から引っ越しをさせています。

個人的な考えでは、WindowsプラットフォームはWindows10で終わりにするつもりでもあったのですが、動画編集アプリ(Pegasys TMPGEncシリーズ)を購入して愛用していることもあり、完全に捨てるのはまだ厳しいという事情があります。一時期はTMPGEncの使用を諦めることも考えていました。

しかし、運良くヤフオクで状態がすごく良いレッツノートの中古を格安で入手出来たこともあり、これならWindows11を使える内は使っても良いかなと考えが変わってきました。最近は用途に応じて使い分けておりLinuxデスクトップが日常用途になってWindowsパソコンの稼働率は下がっています。それでもVPSの操作やWindows環境でなければ出来ないことは残っています。Linux環境でもVPSの操作は行えますがセキュリティレベルを上げる細工をしているため設定が面倒です。

今後、レッツノートをメインのWindowsパソコンに変更するため、SSH接続の制限をレッツノートからもアクセスできるように設定変更しています。

多サイト対応のダウンローダー「YtDownloader」

OSSとして開発が進められている「YtDownloader」を知ったのは、debian GNU/Linuxで娯楽用途の環境整備をしていてのことですが、既に記している通りLinuxだけでなく、Windows環境にもインストールできるように配布してくれています。

このプロジェクトはとても幅広いプラットフォームに対応しています。「Download for Windows」というアイコンからWindows版のYtDownloaderをダウンロードしてインストール出来ます。

とてもシンプルなUIで簡単に誰でも使用できる様に配慮してくれています。右上のハンバーガーアイコンとやら(三本横線)をクリックすると詳細設定が出来ます。

YouTube動画はほぼ確実に保存可能

私自身、そんなに多くのYouTube動画を保存することは有りませんが、YtDownloaderを使えば確実に保存できるという印象です。たまに保存出来ないYouTube動画もあるらしいですが遭遇したことは有りません。使い方は簡単で保存したいYouTubeページのURLをコピーしておいて(クリップボードに記憶されている)、緑色の「クリックしてクリップボードからビデオリンクを貼り付け[Ctrl+V]」を実行するだけです。

後はサイト構造を解析してくれて目的のYouTube動画を保存するためのステップに進めます。

YouTube動画を保存するのは全然難しくないので詳細は端折ります。一度試してみて貰えれば簡単だと分かる筈です。

YouTube以外でも保存できる

公式に

A modern GUI video and audio downloader supporting hundreds of sites

と記述されており、沢山(数百)の動画配信サイトをサポートしています。沢山有りすぎて訳が分からないですが、Tverなんかも対応していますね。Tverはすんなり解析してくれてダウンロードできました。

どうやら、内部的にyt-dlpffmpegと連携させている様で、Tverの様に配信サイト側が高速であればとても短時間でダウンロードすることが可能です。ダウンロードしてから回線の途切れもなく安定して視聴できるのが嬉しいです。

おまけ:対応してないサイトでもm3u8のURL指定でダウンロード

もちろんコレは開発者の意図してない使い方ですが、試してみるとサポートしてない動画配信サイトからもダウンロード出来ます。サポートしてないサイトの場合は動画のURLが解析できないので、自分で解析してやる必要があります

とは言ってもそれほど難しくなかったりします。ポイントは.m3u8という拡張子のファイルがあるURLをYtDownloaderに指定してやるだけです。

githubの説明をそれなりに読むと、サイトの解析とダウンロードにyt-dlpを使用していることが分かります。動画配信サイトの解析に関わる部分はyt-dlpが担っている様です。実際にWindows PCにyt-dlpがインストールされていました。

yt-dlp.exe単体(コマンド操作)でも同じ結果が得られますが、UIを使えた方がコマンド操作よりわかりやすく操作の敷居は下がると思います。PATHを意識してない人がコマンドで実行するとどこに保存されたか行方不明になったりすることも想定出来ますし。

実験的に適当に動画配信サイトを検索して上位に出てきたサイトでやってみました。動画ページのURLを指定してもエラーになります。

いくつかのエラーが発生しました。ネットワークを確認し、正しいURLを使用してください。

やはりサポート外のサイトなので解析が出来ないみたいです。

そこで、動画配信サイトのページのソースを表示し、検索で「.m3u8」を探し出します。1ページ中にいくつか見つかる可能性がありますが、URLから雰囲気を読んでアタリとハズレのURLを見分けます。アタリのURLをYtDownloaderに指定してやると、ページタイトル等は解析してくれませんが(自分でダウンロードファイル名は指定できる)、ダウンロードは無事に行えました。

実験メモ
このサイトの場合、動画配信ページでソースを表示し、m3u8ファイルのURLを探すと直ぐに見つかった。比較的簡単なサイト構造(ソース)だった。

という訳で、サポートされていない動画配信サイトの動画も.m3u8ファイルがあるURLを指定してやればダウンロードできました。

他のサイトでは.m3u8ファイルのURLが分かりにくい様に細工がなされていることもある様です。Base64でエンコードされているサイトもありました。なかなか各サイトの運営者も考えていますね。

実験による探究心が満たされたら削除しておく様にしましょう。特にグレーなサイトからのダウンロードは実験に留めておくべきです。

実験が終わったらダウンロードしたファイルは削除しておくこと!

ちょっと調べた限りでは、YtDownloaderはUI部分を担っており、配信サイトの解析とダウンロードはyt-dlp、ffmpegが担っているっぽいです。オープンソースのソフトウェアを組み合わせて実現しているダウンローダーの様です。

技術的(プログラミング)に興味がある人は、yt-dlpの開発に参加すると楽しいかも知れません。多くの場合は動画配信サイトの構造解析とそれを自動化する(extractor)の開発のために注力する事になると思いますが、ニーズのあるプロジェクトだと思います。多数の配信サイトの解析プログラムのソースコードが読めます。Pythonで書ける人なら対応できるのではないでしょうか。

コメント

タイトルとURLをコピーしました