diff --git a/docs/public/images/manual/use-cases/jellyfin-add-media-lib.png b/docs/public/images/manual/use-cases/jellyfin-add-media-lib.png new file mode 100644 index 000000000..3a1fbb068 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-add-media-lib.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-add-server.png b/docs/public/images/manual/use-cases/jellyfin-add-server.png new file mode 100644 index 000000000..c623f13b7 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-add-server.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-auth-level.png b/docs/public/images/manual/use-cases/jellyfin-auth-level.png new file mode 100644 index 000000000..1d66b3f8a Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-auth-level.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-catalog-plug.png b/docs/public/images/manual/use-cases/jellyfin-catalog-plug.png new file mode 100644 index 000000000..5a28c5f0a Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-catalog-plug.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-catalog.png b/docs/public/images/manual/use-cases/jellyfin-catalog.png new file mode 100644 index 000000000..a6085a96f Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-catalog.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-confirm-plug.png b/docs/public/images/manual/use-cases/jellyfin-confirm-plug.png new file mode 100644 index 000000000..7f2c44bbd Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-confirm-plug.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-connect.png b/docs/public/images/manual/use-cases/jellyfin-connect.png new file mode 100644 index 000000000..c9fca0db3 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-connect.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-endpoint.png b/docs/public/images/manual/use-cases/jellyfin-endpoint.png new file mode 100644 index 000000000..8c2ef69b5 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-endpoint.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-entrances.png b/docs/public/images/manual/use-cases/jellyfin-entrances.png new file mode 100644 index 000000000..88881bd63 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-entrances.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-install.png b/docs/public/images/manual/use-cases/jellyfin-install.png new file mode 100644 index 000000000..e76a88007 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-install.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-plug-install.png b/docs/public/images/manual/use-cases/jellyfin-plug-install.png new file mode 100644 index 000000000..a381ed874 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-plug-install.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-plug-status.png b/docs/public/images/manual/use-cases/jellyfin-plug-status.png new file mode 100644 index 000000000..068593511 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-plug-status.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-plugin-repo.png b/docs/public/images/manual/use-cases/jellyfin-plugin-repo.png new file mode 100644 index 000000000..08aebf08a Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-plugin-repo.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-restart.png b/docs/public/images/manual/use-cases/jellyfin-restart.png new file mode 100644 index 000000000..5e7c702dc Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-restart.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-sign-in.png b/docs/public/images/manual/use-cases/jellyfin-sign-in.png new file mode 100644 index 000000000..3967456ed Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-sign-in.png differ diff --git a/docs/public/images/manual/use-cases/jellyfin-transcoding.png b/docs/public/images/manual/use-cases/jellyfin-transcoding.png new file mode 100644 index 000000000..f64c6c373 Binary files /dev/null and b/docs/public/images/manual/use-cases/jellyfin-transcoding.png differ diff --git a/docs/use-cases/stream-media.md b/docs/use-cases/stream-media.md index af877fc0e..e5b590dca 100644 --- a/docs/use-cases/stream-media.md +++ b/docs/use-cases/stream-media.md @@ -1,66 +1,153 @@ --- outline: [2, 3] -description: Comprehensive tutorial on streaming media with Olares. Learn to configure VPN access, manage media files through LarePass, and set up Jellyfin for advanced streaming capabilities from anywhere. +description: Step-by-step guide to setting up Jellyfin on Olares for personal media streaming. Learn how to manage media files with LarePass, add libraries, enhance metadata with plugins, enable hardware acceleration, and securely stream your media through Olares VPN from any device. --- -# Stream your media library from anywhere with Olares -Olares makes it easy to access and enjoy your personal media library from anywhere, whether you're at home or on the go. With built-in VPN support and media management tools like Jellyfin, you can stream your favorite movies and TV shows securely and seamlessly. This tutorial will guide you through the process of setting up Olares VPN, accessing media files, and configuring Jellyfin for advanced streaming capabilities. +# Build your private media server with Jellyfin -## Objectives -In this tutorial, you will learn how to: -- Configure Olares VPN to securely access your media library from anywhere with LAN-like performance. -- Explore and play video files stored in Olares Files using the LarePass client or a web browser. -- Install and set up Jellyfin for media streaming. +Jellyfin is a powerful, open-source software media server that puts you in full control of your media. By installing it on Olares, you can turn your device into a personal streaming platform, organizing movies, shows, and music into a beautiful library accessible securely from anywhere. -## Enable Olares VPN connection -To achieve smooth streaming across networks, [enable VPN connection](../manual/larepass/private-network.md) in LarePass for your streaming device. Devices with activated VPN will use the VPN connection to access Olares, whether through the LarePass client or a browser. -:::tip -For different LarePass download options, visit [the official page](https://larepass.olares.com). +## Learning objectives + +In this guide, you will learn how to: +- Install and set up Jellyfin on your Olares device. +- Add and organize your media libraries. +- Optimize playback using hardware acceleration. +- Install community plugins. +- Access and stream your media securely from client devices. + +## Prerequisites + +Before you begin, make sure: +- LarePass app installed on your client devices (desktop or mobile). +- Olares ID imported into the LarePass client. + +## Add media to Olares + +Before setting up Jellyfin, you need to make sure your media is already available on Olares. You can add it in several ways: +- **Upload files directly**
+Upload your media to the `/home/Movies/` folder in Files. For better speed and progress visibility, [use the LarePass desktop client to upload](../manual/olares/files/add-edit-download.md#upload-via-larepass-desktop). +- **Mount an external drive**
+After you insert a USB drive to your Olares device, it will be automatically mounted and accessible. Files in it are under the `/external/` directory. +- **Mount a network share**
+If your media is on a NAS or other network server, you can connect it to Olares. For detailed instructions, see [Mount SMB shares](../manual/olares/files/mount-SMB.md). + +:::tip Naming conventions +Correct file naming is the key to accurate metadata and beautiful posters in Jellyfin. +Follow Jellyfin's official guidelines for accurate metadata: +- [Movie naming conventions](https://jellyfin.org/docs/general/server/media/movies/#naming) +- [TV shows naming conventions](https://jellyfin.org/docs/general/server/media/shows/#naming) +::: +:::tip Folder organization +Keep movies and TV shows in **separate folders** for easier management and correct metadata retrieval. ::: - +## Install and configure Jellyfin -## Access media files in LarePass -After enabling VPN, you can browse media files stored on Olares. +With your media ready, install Jellyfin and complete its setup wizard. -### Access via LarePass Client -1. Open LarePass, and navigate to your media directory containing movies and TV shows in Files. -2. Click on any file to start playback on your computer or mobile device. +### Install Jellyfin -### Access from browser -1. Open files from your Olares desktop, or directly using the app's URL: `https://files.[OlaresDomainName]`. -2. Locate your media directory, and click on video files to begin playback. +1. Open the **Market** app in your Olares web interface. +2. Find **Jellyfin** in the **Fun** category or use the search bar. +3. Click **Get**, then **Install**. + ![Install Jellyfin](../public/images/manual/use-cases/jellyfin-install.png#bordered) +4. Once the installation is finished, click **Open** to launch the setup wizard. -## Access media files using Jellyfin -For advanced media management features like subtitle support and multi-channel audio, install Jellyfin. +### Complete the initial setup -1. Open the Market app in Olares and go to the **Entertainment** category. -2. Locate and download Jellyfin. -3. Launch Jellyfin and complete first-time setup: - - Set administrator password. - - Configure media library directories. -4. Wait for Jellyfin to scan and index your media library. It will automatically fetch metadata including: - - Movie posters - - Descriptions - - Cast information +Follow the wizard prompts to finish configuring Jellyfin. +1. Select your preferred display language and click **Next**. +2. Create a username and password for your Jellyfin admin account, and click **Next**. +3. When prompted to set up your media libraries, you can skip this step for now. +4. For metadata, select your preferred language and country and click **Next**. +5. For remote access, keep the default settings (unchecked) and click **Next**. Olares VPN will handle secure remote access. +6. Click **Finish** to complete the setup wizard. +7. You will be taken to the login page. Sign in with the admin credentials you just created. +![Sign in to Jellyfin](../public/images/manual/use-cases/jellyfin-sign-in.png#bordered) + +## Add media libraries + +With Jellyfin installed and running, the next step is to tell it where your media is stored. +1. In Jellyfin's sidebar, go to **Dashboard** > **Libraries** > **Libraries**. +2. Click **Add Media Library**. +![Add Media Library](../public/images/manual/use-cases/jellyfin-add-media-lib.png#bordered) +3. Configure media library settings: + - **Content type**: Choose the type of media (e.g., Movies, Shows, Music). For folders containing both movies and TV shows, choose **Mixed Movies and Shows**. + - **Display name**: Enter the name to display for the library.
+ - **Folders**: Click + to add the path to your media.
+ - **Olares Files**: `/home/movies/` + - **External storage**: `/external/` +4. Click **Ok** to save, and repeat for other media types (e.g., one for "Movies", one for "TV Shows"). + +Once saved, Jellyfin will automatically scan your folders and begin building your library. This process may take several minutes, depending on the size of your collection. + +## Enable transcoding + +To ensure smooth playback for high-resolution videos, enable hardware acceleration. This allows Jellyfin to use your device's hardware for faster, more efficient transcoding. +1. In the Jellyfin **Dashboard** (click the ≡ icon > Dashboard), go to **Playback** > **Transcoding**. +2. Under **Hardware acceleration**, choose your preferred method based on your Olares device's hardware. +![Enable transcoding](../public/images/manual/use-cases/jellyfin-transcoding.png#bordered) + +## Enhance experience with community plugins + +You can install plugins to improve metadata, fetch better artwork, and add new features. + + +The process for installing plugins is the same for all. Here's an example using **Skin Manager**: +1. In the Dashboard, go to **Plugins** > **Catalog**. +![Catalog](../public/images/manual/use-cases/jellyfin-catalog.png#bordered) +2. Click the icon to go to **Repositories** page, then click **+** to add a new repository. +3. Enter the **Repository Name** and **Repository URL** of the plugin, and click **Save**. +![Add plugin repository](../public/images/manual/use-cases/jellyfin-plugin-repo.png#bordered) +4. Click **Ok** to confirm the installation. +![Confirm plug installation](../public/images/manual/use-cases/jellyfin-confirm-plug.png#bordered) +5. Return to the **Catalog** tab, find your desired plugin (you may need to refresh) and click **Install**. +![Catalog plugin](../public/images/manual/use-cases/jellyfin-catalog-plug.png#bordered) +![Install plugin](../public/images/manual/use-cases/jellyfin-plug-install.png#bordered) +6. After installation, a prompt will appear to restart Jellyfin. Go to the **Dashboard** page and click **Restart**. +![Restart Jellyfin](../public/images/manual/use-cases/jellyfin-restart.png#bordered) +7. After it restarts, return to **Dashboard** > **Plugins** > **My Plugins** to confirm the plugin you installed is listed and has an **Active** status. +![Plugin status](../public/images/manual/use-cases/jellyfin-plug-status.png#bordered) + + +After installing plugins, you may need to enable or configure them before they take effect. +Since each plugin behaves differently, check the plugin's **GitHub repository** or **README** for setup details. -![Jellyfin](/images/manual/use-cases/jellyfin.png#bordered) ## Access your media library through Jellyfin clients -To stream your media on various devices: -1. Configure Jellyfin authentication. - - a. Open Settings, and navigate to **Applications** > **Jellyfin** > **Entrances**. +With Jellyfin set up and your libraries ready, the final step is connecting from your client devices so you can start streaming your media. - b. Set **Authentication level** to **Internal**. -2. Download and install [Jellyfin's official client](https://jellyfin.org/downloads/). -3. Connect clients to your Jellyfin server in Olares. +### Configure Jellyfin authentication level in Olares - a. In your Jellyfin client, auto-discovery should locate your server for devices on the same network. +To ensure secure connections between Jellyfin and your devices, configure the authentication level through Olares. - b. If auto-discovery fails, manually enter the server address from Olares. +Make sure LarePass VPN (or local network access) is enabled before starting the steps below. +If you haven’t done this yet, see [Enable VPN on LarePass](../manual/larepass/private-network.md#enable-vpn-on-larepass) for details. -4. Log in to Jellyfin client with your credentials. -:::tip -Keep the VPN connection active for optimal streaming performance when accessing your media library remotely. -::: +1. In your Olares web interface, go to **Settings** > **Application**. +2. Find and click **Jellyfin**. +3. Go to the **Entrances** tab. +![Entrances](../public/images/manual/use-cases/jellyfin-entrances.png#bordered) +4. Set the **Authentication level** to **Internal**. This is a required step to enable the private endpoint to accept login credentials. +![Authentication level](../public/images/manual/use-cases/jellyfin-auth-level.png#bordered) + +### Connect your Jellyfin client + +Assume you've already installed the official [Jellyfin client app](https://jellyfin.org/downloads/) on your device. + +1. Open the Jellyfin client app on your device. +2. Click **Add Server**. +![Add server](../public/images/manual/use-cases/jellyfin-add-server.png#bordered) +3. In your Olares web interface, go to **Settings** > **Application** > **Jellyfin** > **Entrances** > **Set up endpoint**. +4. Copy the server address shown next to **Endpoint** (e.g., `https://7e89d2a1.laresprime.olares.com`) +![Endpoint](../public/images/manual/use-cases/jellyfin-endpoint.png#bordered) +5. Paste this address into the client and click **Connect**. +![Connect to server](../public/images/manual/use-cases/jellyfin-connect.png#bordered) +6. Sign in with your Jellyfin admin account. + +You should now see your media libraries displayed in the app. + +:::tip +For the best experience, keep your LarePass VPN connection active when accessing Jellyfin remotely. This ensures you can always connect to your Jellyfin server securely. +::: \ No newline at end of file