Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unmet dependencies for Bookworm: libmpv1 #47

Open
menegop opened this issue Dec 7, 2023 · 15 comments
Open

Unmet dependencies for Bookworm: libmpv1 #47

menegop opened this issue Dec 7, 2023 · 15 comments

Comments

@menegop
Copy link

menegop commented Dec 7, 2023

Trying to install Stremio over a fresh install of Raspberry Pi OS with desktop and recommended software (Bookworm).

I get an unmet dependencies for libmpv1: I think it is no more available in bookworm as it has been replaced by libmpv2.

I tried the following instruction:
echo "deb http://deb.debian.org/debian/ oldstable main" | sudo tee -a /etc/apt/sources.list sudo apt-get update sudo apt-get install libmpv1

Then I installed Stremio

It seems to work correctly

@shivasiddharth
Copy link
Owner

Thanks. I will add support for bookworm soon.

@shivasiddharth
Copy link
Owner

Can you confirm that it works ? All i see is a black screen.

@SilverGreen93
Copy link

SilverGreen93 commented Dec 30, 2023

I have the same issue when trying to install on Ubuntu on Raspberry Pi 5.
unmet dependencies for libmpv1
So installing Streamio does not work.

@reh06
Copy link

reh06 commented Jan 1, 2024

Hi Sid, love your work. signed up to Github just to respond to this. I have the Raspberry Pi 3B with Bookworm and have been struggling to install stremio. Could you please help with an updated instruction list?

@reh06
Copy link

reh06 commented Jan 2, 2024

Hi @shivasiddharth , as a followup to my previous question. Here's everything i've tried and some more details.
I have the Raspberry Pi 3B, Raspbian (64-bit installations)

  1. Raspbian Bookworm - used the comment from @menegop then installed stremio and Stremio worked. Could get into stremio from my ipad at https://192.168.1.124:12470. Video playback would not work. always received a timeout error. One episode streamed once on my pc.
  2. Raspbian Bullseye - used your process to install stremio. Could get into stremio from my ipad at https://192.168.1.124:12470. Video playback would not work and by raspberry pi (GUI) would pop up an error with Stremio opened.

Questions

  1. Would i need to update my pi?
  2. Would signing up to Real-Debrid help?

Goal - I understand it's been 2 years since you've worked on this but would really like you're help here

  1. Install the latest version of Stremio (4.4 as of writing this) on Raspbian Bookworm
  2. Stream to ipad / pc from the local network
  3. Advanced - stream to ipad / pc from anywhere. (outside network)
    3a. My ISP only offers CGNAT so I have tried to use cloudflare's free tunneling to direct my domain to my stremio
    3b. For others who can still access port forwarding from their router, i believe this is easier and possible
  4. Install other apps and access from anywhere using my ipad - HomeAssistant, Pi's GUI itself, Pi's browser etc.

Reference - https://pimylifeup.com/raspberry-pi-cloudflare-tunnel/
https://www.youtube.com/watch?v=qSqUR1rqfuA

Would love a new tutorial video from you! I'm just a beginner dabbling in the Pi so this was only a mini project to access my pi and some of its apps from anywhere in the world.

@shivasiddharth
Copy link
Owner

Hi @shivasiddharth , as a followup to my previous question. Here's everything i've tried and some more details. I have the Raspberry Pi 3B, Raspbian (64-bit installations)

  1. Raspbian Bookworm - used the comment from @menegop then installed stremio and Stremio worked. Could get into stremio from my ipad at https://192.168.1.124:12470. Video playback would not work. always received a timeout error. One episode streamed once on my pc.
  2. Raspbian Bullseye - used your process to install stremio. Could get into stremio from my ipad at https://192.168.1.124:12470. Video playback would not work and by raspberry pi (GUI) would pop up an error with Stremio opened.

Questions

  1. Would i need to update my pi?
  2. Would signing up to Real-Debrid help?

Goal - I understand it's been 2 years since you've worked on this but would really like you're help here

  1. Install the latest version of Stremio (4.4 as of writing this) on Raspbian Bookworm
  2. Stream to ipad / pc from the local network
  3. Advanced - stream to ipad / pc from anywhere. (outside network)
    3a. My ISP only offers CGNAT so I have tried to use cloudflare's free tunneling to direct my domain to my stremio
    3b. For others who can still access port forwarding from their router, i believe this is easier and possible
  4. Install other apps and access from anywhere using my ipad - HomeAssistant, Pi's GUI itself, Pi's browser etc.

Reference - https://pimylifeup.com/raspberry-pi-cloudflare-tunnel/ https://www.youtube.com/watch?v=qSqUR1rqfuA

Would love a new tutorial video from you! I'm just a beginner dabbling in the Pi so this was only a mini project to access my pi and some of its apps from anywhere in the world.

Please go through the Notes in the README. The Server URL is different from HTTPS URL. And then there is a secure endpoint URL as well. You need not go through all these tunnelling hassles. Moreover, all these free tunnelling apps do not permit free media tunnelling, they have a cap.

@reh06
Copy link

reh06 commented Jan 2, 2024

Thanks. i've checked the server URL, https URL and the endpoint URL. All match your description. Streaming still doesn't work.

Noted re tunneling. guess i'll give up that part of the project.

@shivasiddharth
Copy link
Owner

@reh06 I will take a look sometime this week.

@bendschs
Copy link

same problem here on the pi5 with bookworm installed.

@LiamRiddell
Copy link

LiamRiddell commented Feb 15, 2024

Raspberry Pi 5 - Bookworm Guide

When looking to setup Stremio on Raspberry Pi 5 I found this thread. I failed to get the Stremio UI running. However, I have found an alternative approach that worked for what I needed. A streaming server using Stremio which is accessible on my local network and the pi itself. I've tested the below steps on iPhone, iPad and Windows computer and it works for me. If this is of interest to you then you can use the below steps to get it working.

Realistically this should be universal and work on anything that can run docker.

1. Install Docker

You will need docker for this as it allows us to host stremio-server
https://docs.docker.com/engine/install/debian/#install-using-the-repository

## Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

## Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Now install the required docker-engine packages:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Now test the installation with hello world example:

sudo docker run hello-world

If the output shows "Hello World" then you're good to continue.

2. Install Docker Compose

Upon installing docker engine and testing it works with the "Hello World" project you can now install docker-compose

sudo apt-get install docker-compose

3. Creating docker-compose.yaml

You may want to modify the below definition to not use reverse proxy.

version: '3.8'
services:
  stremio-server:
    image: stremio/server:latest
    ports:
      - "11470:11470" # http
      # - "12470:12470" # https UNCOMMENT IF NOT USING NGINX
    environment:
      - NO_CORS=1
      - APP_PATH=/app/config
    volumes:
      - ./stremio:/app/config
    restart: unless-stopped

  ## You can ignore this if you don't need clients with HTTPS support unlike apple devices
  nginx:
    image: nginx:latest
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./nginx/certs:/etc/nginx/certs:ro # Map your SSL certificate directory
    ports:
      - "12470:443"
    depends_on:
      - stremio-server
    restart: unless-stopped

4. Setting up stremio-server

You will want to create a new folder relative to your docker-compose.yaml file called stremio. In this folder we will create a new file called server-settings.json. You can modify this configuration as required.

{
    "serverVersion": "4.20.5",
    "appPath": "/app/config",
    "cacheRoot": "/app/config",
    "cacheSize": 2147483648,
    "btMaxConnections": 400,
    "btHandshakeTimeout": 25000,
    "btRequestTimeout": 6000,
    "btDownloadSpeedSoftLimit": 8388608,
    "btDownloadSpeedHardLimit": 78643200,
    "btMinPeersForStable": 10,
    "remoteHttps": "{IF NO NGINX HOSTNAME OR IP OTHERWISE LEAVE IT BLANK}", 
    "localAddonEnabled": false,
    "transcodeHorsepower": 0.75,
    "transcodeMaxBitRate": 0,
    "transcodeConcurrency": 1,
    "transcodeTrackConcurrency": 1,
    "transcodeHardwareAccel": true,
    "transcodeProfile": true,
    "transcodeMaxWidth": 1920,
    "btProfile": "ultra_fast"
}

5. Setting up nginx

This part is optional and is only required if you are going to use stremio-server on devices that require a HTTPS connection for example Apple devices. You will need to update the sever_name field.

events {}

http {
    server {
        listen 443 ssl;
        server_name {HOSTNAME OR IP};

        ssl_certificate /etc/nginx/certs/server.crt;
        ssl_certificate_key /etc/nginx/certs/server.key;

        location / {
            proxy_pass http://stremio-server:11470;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

The next part of this step is to generate the certificates in the nginx/certs folder relative to your docker-compose.yaml file. You can generate a self-signed certificate using the openssl command:

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

IMPORANT: It's important that you set the Common Name (FQDN) to * otherwise you may run into issues.

6. Pre-flight Checks

Before we go ahead and run our compose file, validate your directory looks like this:

stremio-server
	docker-compose.yaml
	stremio/
		server-settings.json
	nginx/
		nginx.conf
		certs/
			server.crt
			server.key			

7. Up the docker compose

Now we're ready to bring the compose stack up:

sudo docker-compose up -d

IMPORTANT: If you're having any issues remove the -d of the command to get the output from both stremio-server and nginx.

8. Validate it's working

You can now navigate to your https://{HOSTNAME OR IP}:12470/ and you will be redirected to the stremio app.

IMPORTANT: When the redirect happens it will set the streaming server to http you will need to edit the URL and change it to https://{HOSTNAME OR IP}:12470/. Don't forget to re-enter the port. You can then bookmark this link for ease of use later.

Everything should now work, apart from casting.

Further improvements:

  1. Implement Let's Encrypt so the self-signed certificate errors are not annoying.
  2. Support for hardware encoding
  3. Host stremio-web inside of the stack

For longevity I've put the guide in a separate repository https://github.com/LiamRiddell/Stremio-Server-Raspberry-PI/.

@bendschs
Copy link

bendschs commented Mar 30, 2024

will there be a native build for bookworm?

@TommySilver3461
Copy link

Yes please.

I need this so bad. I can't watch stremio on my TV. It's useless. (and I am broke :D )

@GwenTheKween
Copy link

+1 is there a plan for a bookworm standalone release? I don`t want to stream from my pi to another device, i just want to connect my pi to a TV and watch stuff

@bendschs
Copy link

+1 (i prefer native install over docker so much)

@shinz4u
Copy link

shinz4u commented Aug 31, 2024

+1 would love this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants