先日、FirefoxにVideo DownloadHelperという機能拡張(アドオン、プラグイン)を追加してストリーミング動画を保存する機能を追加する的なことを記しましたが、debianを始めとしたLinux環境でも動作するオープンソースのソフトウェア「YtDownloader」がFlatpakで手軽にインストールできるので使ってみました。
「YtDownloader」は「yt-dlp」と合わせて作り込まれており、GUIの提供だけでなく、ブラウザのCookieを使用したりということも考慮されています。Windows、Linux、MacOSなどで使用できます。「ty-dlp」の利便性を高める意味でも有効なアプリだと思います。
YtDownloader
YtDownloaderは、オープンソースで開発されているビデオ・オーディオをダウンロードするアプリケーションです。YouTubeをはじめとした多くの動画配信サイトからダウンロード(保存)ができるアプリ(yt-dlp)のフロントエンドらしく、yt-dlpと組み合わせて動作している様です。YtDownloaderによってGUIを提供しているのでコマンド入力等で悩む必要もありません。
ytDownloaderを使えば、Youtube・Facebook・Instagram・Tiktok・Twitterなど何百ものサイトからビデオやオーディオをダウンロードすることができます。
https://github.com/aandrew-me/ytDownloader
これは、Node.jsとElectronの上に構築されたフリーでオープンソースアプリです。yt-dlpはダウンロードに使用されています。ソースコードはここで公開されています。
目的とする動画配信URLをコピペして指定すると解析してくれて、可能であれば動画の品質を選択できたり、音声の種類を選択できたりということも実現しています。
debianの場合はサクッとFlathubからインストール推奨
私の場合はdebian GNU/Linuxを使用しているので、「gnome-software」を起動してそこから「YtDownloader」を検索し、Flathubからの指定でインストールしました。Flatpakでインストールすれば、Sandbox内で動いてくれるので気軽にインストールできる点が良いです。
またFlathubからのインストールは、debianの弱点であるパッケージ更新の遅さには影響されないので、更新があれば迅速なアップデートが可能であり新しいバージョンに追従して行くことが手軽に実現できます。更新が重要なアプリはなるだけFlatpakを使いたいです。
YouTubeからのダウンロードは簡単
使い方は簡単で、YouTubeの該当ページのURLをコピーしてクリップボードに記憶させて置きます。それから緑色のボタンをクリックするか、Ctrl + Vキーを押すと動画を解析してくれます。
指定したURLを解析した結果、可能であればビデオフォーマットの選択ができます。
同様に可能であればオーディオフォーマットを選択できます。
後はダウンロードボタンをクリックすると保存してくれます。
保存先は右上のボタンをクリックして、環境設定から確認できますし、任意のフォルダを指定しておくこともできます。
WebブラウザのCookieを使用する
YtDownloaderでWebブラウザのCookieを使用することもできます。ただし、Flatpakからインストールした場合は、Sandbox内のYtDownloaderからFirefoxのプロファイルにアクセスできない(権限が無い)のでクッキーファイルが見つからないという感じ(ERROR: could not find firefox cookies database)のエラーとなります。セキュリティ的に弱くなるので必要が無ければクッキーを使用しない方が安全です。
ERROR: could not find firefox cookies database in ‘/home/sasapurin/.mozilla/firefox’, ‘/home/sasapurin/snap/firefox/common/.mozilla/firefox’, ‘/home/sasapurin/.var/app/org.mozilla.firefox/.mozilla/firefox’
ブラウザのクッキーを使用する場合、YtDownloaderがLinuxのホームディレクトリにアクセスできるよう権限を与えてやる必要があります。実際確認したところ上記のディレクトリは存在していました。つまり存在しているのにアクセス出来ないのが問題ということになります。
そこでFlatpakでインストールしたアプリが実行する再に必要な権限をカスタマイズする為に必要になるアプリが「Flatseal」です。これもgnome-softwareからインストールすることができました。
Flatsealを起動して、左ペインで対象となるアプリ「YtDownloader」を選択した後、右ペインでFilesystem>>All user filesをONします。
これで「YtDownloader」の環境設定からCookieを使用するブラウザを選択してやります。私はFirefoxを愛用していますが、Chromeをはじめ様々なブラウザに対応しているので気が利いてます。オープンソース系のアプリならではの配慮だと思います。
非サポートサイトは.m3u8ファイルを指定
「YtDownloader」は数百の動画配信サイトをサポートしているそうですが、マイナー動画配信サイトだと解析されないことがあります。どうしてもそのマイナーなサイトからダウンロードしたい場合は、ページのHTMLソースを開いて、.m3u8ファイルのURLを見つけ出すことが出来ればダウンロードできるかも知れません。
駄目もとで.m3u8ファイルのURLを「YtDownloader」に指定してみたところ、動画の名前等は取得できませんでしたが、動画ファイルはダウンロード(保存)できました。オーディオに関してはNo Audioしか選べませんでしたが、音声もきちんと入っていました。
このあたりは完全にサポート外とも言えるので、実際にやってみるしか無いという感じです。やる気とスキルがあれば、オープンソースなので、ソースコードを入手し修正して、目的とするサイトの解析部分を書き加えるなどしても良いかも知れませんね。
yt-dlpに各サイトを解析するファイル(エクストラクターと呼ばれているらしい)があるので、それらを参考にしつつ未サポートの新たなサイトについて解析手順を加えると対応サイトを増やすことができるそうです。詳しいことまでは調べていませんがエクストラクターはPython言語で書かれている様です。
Windowsでも使用可能
参考までに記しておくと、配布サイトにはWindows版のYtDownloaderのリンクもあるので、Windows環境でも同じYtDownloaderを使用できます。MacOSでも可能です。OSSならではの親切さですね。どんどんプラットフォームの壁が無くなって、Linuxが普及してWindowsのシェアが下がれば良いなぁ。
コメント