【AllTube】YunoHost app storeからのインストールとエラー対策

2023-03-08

YunoHostのアプリケーションに動画ダウンロードサイトをホスティングできる「AllTube」がありますが、youtube-dlのバージョンが古いためか動作しません。

手動でyt-dlpをインストールすると対処できたので、メモとして残しておきます。

注意点

動画のダウンロードはサイトの利用規約や著作権、違法ダウンロードについて理解した上で違反の無いように利用して下さい。
また、掲載している手順がシステム的に正しいかどうかの確認もしていませんので、ご了承ください。

現状

アプリケーションのインストールは問題ありませんが、動画URLを入力するとエラーになります。

メッセージでは「Unable to extract uploader id;~」と表示されており、どうやらyoutube-dlのバージョンが古い事が理由のようです。

何ですがYunoHostのパッケージ管理ではアップデートされず、youtube-dlのバージョンは変わりません。

なので、手動でアップデートされたプログラムどインストールして使えるように修正します。

修正手順

YunoHostのGUIでは修正できないためSSHを使うか、直接コンソールからコマンドを入力する必要があります。

yt-dlpのインストール

youtube-dlは現在更新されていないため、フォークされたyt-dlpをインストールします。

sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

AllTubeの設定ファイル変更

AllTubeから、インストールしたyt-dlpを使うように設定ファイルを修正します。

/var/www/alltube/config/config.ymlの修正

sudo nano /var/www/alltube/config/config.yml
----変更箇所----
# Path to your youtube-dl binary
youtubedl: /usr/local/bin/yt-dlp

youtubedlのパスを、先ほどインストールしたyt-dlpのパスに変更します。

/var/www/alltube/classes/Config.phpの修正

こちらの修正は不要かもしれません。

sudo nano /var/www/alltube/classes/Config.php
----変更箇所----
/**
 * Manage config parameters.
 */
class Config
{

    /**
     * youtube-dl binary path.
     *
     * @var string
     */
    public $youtubedl = '/usr/local/bin/yt-dlp';

こちらも、先ほどインストールしたyt-dlpのパスに変更します。

動作確認

ダウンロードの直前までですが、クリエイティブコモンズライセンスの動画を使って動作確認をしました。

1.動画のURLを入力

2.今度はエラーにならずに動画が表示されました。

ダウンロードするとYouTubeの規約違反との事なので動作確認はここまでですが、最初のエラーは解消されたと思います。

今後、各サイトの仕様変更でエラーが発生する可能性は高いですが、yt-dlpを手動で更新すればある程度の対応は可能と思います。

まとめ

以上でAllTubeが動作するようにはなりますが、個人的な感覚としてはコマンドラインでも十分な上にCUIが苦手な方はwindows用のフロントエンドもあるので、「わざわざホスティングする必要があるかな?」とは思っています。

もちろん、誰でも利用できるようなホスティングも可能ですので、ひとまずYunoHostのエラーを減らしていくための情報として公開しました。

一時的ですがYunoHostでAllTubeをホスティングしています。

https://vladnab.lol/alltube/

予告無しの削除と、サーバーの電源を落としている事もあるのでご了承ください。