動画や画像、音楽、本などをストリーミングできるコンテンツ管理システムのJellyfinを使って、実際にいくつかのコンテンツをストリーミングしてみました。

The Free Software Media System | Jellyfin

https://jellyfin.org/

Jellyfinのセットアップ方法については下記の記事で詳しく解説しています。

無料で動画・音楽・電子書籍などを自宅でも出先でもストリーミングできる「Jellyfin」のWindowsインストール&セットアップ方法まとめ - GIGAZINE



◆電子書籍のストリーミング

今回はGIGAZINEが出版しているマンガ「魔道書交換日記」をストリーミングしてみます。

Amazon.co.jp: 魔道書交換日記 (GIGAZINE) eBook : 椒いお, 三九二京, GIGAZINE: Kindleストア



まず、書籍ライブラリとして登録したフォルダに整理用のフォルダを作成します。今回はフォルダ名を「GIGAZINE」にしました。



そして「GIGAZINE」フォルダの下に本のタイトルと同じ名前のフォルダを作成。このフォルダ名がJellyfin上での本の名前になります。



本の名前のフォルダにEPUBファイルを配置しました。今回はEPUB形式のファイルを使用しましたが、他にも「azw」「azw3」「cb7」「cbr」「cbt」「cbz」「mobi」「pdf」に対応しているとのこと。



ブラウザからJellyfinにアクセスし、左上のハンバーガーメニューを開きます。



「ダッシュボード」をクリック。



「すべてのライブラリをスキャン」をクリックします。



先ほど保存した電子書籍が認識されているのでクリック。



しかし、再生マークのボタンを押しても何の反応もありません。隣のダウンロードマークのボタンをクリックしてみます。



保存されていたファイルがダウンロードされてきました。本の表紙が表示されなかったり、ダウンロードしかできなかったりする挙動には不満があるので、修正していきます。



先ほどEPUBファイルを配置した「作品名のフォルダ」の中に、表紙の画像を「cover.jpg」、ロゴを「logo.png」、背景を「backdrop.jpg」という名前で保存します。



再びライブラリをスキャンすると、表紙が表示されました。クリックして詳細情報を確認してみます。



cover.jpgが表紙として表示されているほか、「logo.png」という名前で保存した画像が右上に表示され、また背景には薄く「backdrop.jpg」という名前で保存した画像が表示されています。なおこうした画像の指定では名前が重要で、拡張子はjpgとpngのどちらでもOKとのこと。



続いてブラウザ上で電子書籍を読めるようにするため、bookshelfプラグインを導入します。スタートメニューで「PowerShell」を検索し、右クリックして「管理者として実行」をクリック。



.NETのSDKがPCにインストールされていない場合、下記のコマンドでインストールします。

winget install Microsoft.DotNet.SDK.8

途中で「すべてのソース契約条件に同意しますか?」と聞かれるので、「Y」と入力してEnterキーを押せばOK。



続いて下記のコマンドでGitをインストール。

winget install --id Git.Git -e --source winget

下記のコマンドでbookshelfのリポジトリをクローンし、ビルドを行います。

git clone https://github.com/jellyfin/jellyfin-plugin-bookshelf.git
cd jellyfin-plugin-bookshelf
dotnet publish --configuration Release --output bin

クローン先のフォルダの「bin」フォルダの中にある「Jellyfin.Plugin>Bookshelf.dll」をコピー。



Jellyfinのデータフォルダにある「plugins」フォルダの中に貼り付けます。インストール場所を標準設定のまま変更していなければpluginsフォルダのパスは「C:\ProgramData\Jellyfin\Server\plugins」です。



ブラウザでJellyfinのダッシュボードを開き、「再起動」をクリック。



再起動が完了したら、ダッシュボードの左の列を下にスクロールして「プラグイン」を開き、「カタログ」をクリックします。中に「Bookshelf」が追加されているのでクリック。



「インストール」をクリックします。



再起動を促されます。「了解」をクリック。



もう一度ダッシュボードから「再起動」をクリックすればOK。



再起動が完了したので再生マークのボタンをクリックしてみます。



閲覧の様子をムービーで確認するとこんな感じ。

JellyfinにBookshelfプラグインを導入して電子書籍を閲覧できるようにしてみた - YouTube

プラグインのインストール前は何の反応もありませんでしたが、今回は数十秒の読み込み時間の後マンガのページが表示されました。最初の読み込み時間は長いものの、ページめくりは非常にスムーズです。



上のボタンのうち、左端のボタンをクリックすると「目次」が出現しました。それぞれの話のタイトルをクリックすると当該ページへジャンプすることができます。また、右端のボタンをクリックすると全画面表示が可能。間にある3つのボタンはクリックしても反応がありませんでした。



◆音楽

今回はフリー素材サイトで入手した「bgm01.mp3」を使用します。整理のため、musicフォルダの中に「作業用BGM」という名前でフォルダを作成しました。



作成したフォルダの中に音楽ファイルを保存。



ダッシュボードで「すべてのライブラリをスキャン」をクリックします。



Jellyfinに認識されました。



再生ボタンをクリックすると画面の下部にプレーヤーが出現。同じフォルダ内を「同じアルバム」のように扱うようで、再生ボタンの隣は左から「インスタントミックス」「シャッフル」「お気に入りに追加」となっています。



電子書籍の時と同様に、フォルダの中に「cover」という名前で画像を保存。



ライブラリを再スキャンすると無事に画像が表示されました。今回は用意しませんでしたが、電子書籍と同じく「logo」や「backdrop」にも対応しています。



◆動画

1939年に公開され、すでに著作権の切れている映画「Gulliver's Travels」を使用して動画のストリーミングを試してみます。「movie」フォルダの中に「Gulliver's Travels(1939)」という名前のフォルダを作成し、動画ファイルを保存。



IMDbのデータを元に勝手にタイトルや画像が補完されました。



ジャンルやキャストなど詳細なデータも補完されています。再生ボタンをクリックして再生してみます。



電子書籍の時のような待ち時間は発生せず、スムーズにストリーミングが始まりました。



映画をストリーミングする様子はこんな感じ。

Jellyfinで映画をストリーミング再生してみた - YouTube

次回の記事ではウェブ以外のクライアントの使い勝手を確かめてみる予定です。