eroji / rtsp2mjpg

RTSP to MJPEG stream conversion using FFmpeg and FFserver
99 stars 41 forks source link

Unable to install this in the OctoPi image #2

Closed prawnz closed 4 years ago

prawnz commented 4 years ago

Hey @eroji , did you manage to install the docker image and have it running inside the octoprint image?

eroji commented 4 years ago

Yes I did. You need to provide more information. What model of Pi, docker, docker-compose, and what error are you seeing etc.

prawnz commented 4 years ago

I'm running Pi 4 4gb model,

Installation of docker and docker compose is based off https://dev.to/rohansawant/installing-docker-and-docker-compose-on-the-raspberry-pi-in-5-simple-steps-3mgl

Updated both docker-compose.yaml and docker-compose.yaml-armhf with my cam's rtsp url.

Docker version used

pi@octopi:~/rtsp2mjpg $ docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:37:22 2019
 OS/Arch:           linux/arm
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:31:17 2019
  OS/Arch:          linux/arm
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Docker Compose version used

 pi@octopi:~/rtsp2mjpg $ docker-compose -version
 docker-compose version 1.25.3, build unknown

First run of docker-compose up -d threw the following

pi@octopi:~/rtsp2mjpg $ docker-compose up -d
Creating network "rtsp2mjpg_default" with the default driver
Pulling rtsp2mjpg (eroji/rtsp2mjpg:)...
latest: Pulling from eroji/rtsp2mjpg
c87736221ed0: Pull complete
e13fdcce54e6: Pull complete
0e324b2ba72c: Pull complete
3628689ae633: Pull complete
a2ce30003ae3: Pull complete
Digest: sha256:7fa71c5e19c9431668ab43945ee0ca9799414fd5938539a67a33f3ceb5c5794c
Status: Downloaded newer image for eroji/rtsp2mjpg:latest
Pulling nginx (nginx:1.17.6-alpine)...
1.17.6-alpine: Pulling from library/nginx
ecf664be551d: Pull complete
e68b1c905652: Pull complete
Digest: sha256:0e61b143db3110f3b8ae29a67f107d5536b71a7c1f10afb14d4228711fc65a13
Status: Downloaded newer image for nginx:1.17.6-alpine
Creating rtsp2mjpg_rtsp2mjpg_1 ... error

ERROR: for rtsp2mjpg_rtsp2mjpg_1  Cannot start service rtsp2mjpg: failed to create endpoint rtsp2mjpg_rtsp2mjpg_1 on network rtsp2mjpg_default: failed to add the host (vethc6afc8f) <=> sandbox (veth10a6b19) pair interfaces: operation not supported

ERROR: for rtsp2mjpg  Cannot start service rtsp2mjpg: failed to create endpoint rtsp2mjpg_rtsp2mjpg_1 on network rtsp2mjpg_default: failed to add the host (vethc6afc8f) <=> sandbox (veth10a6b19) pair interfaces: operation not supported
ERROR: Encountered errors while bringing up the project.

I believe it is due to the port issue with nginx so I have changed to 8080 in docker-compose.yaml and the default.conf in nginx folder and now i am getting

pi@octopi:~/rtsp2mjpg $ docker-compose up -d
Creating rtsp2mjpg_rtsp2mjpg_1 ... error

ERROR: for rtsp2mjpg_rtsp2mjpg_1  Cannot start service rtsp2mjpg: failed to create endpoint rtsp2mjpg_rtsp2mjpg_1 on network rtsp2mjpg_default: failed to add the host (veth96f6041) <=> sandbox (vethc50915f) pair interfaces: operation not supported

ERROR: for rtsp2mjpg  Cannot start service rtsp2mjpg: failed to create endpoint rtsp2mjpg_rtsp2mjpg_1 on network rtsp2mjpg_default: failed to add the host (veth96f6041) <=> sandbox (vethc50915f) pair interfaces: operation not supported
ERROR: Encountered errors while bringing up the project.

Changed to use docker-compose -f docker-compose.yaml-armhf up -d results in the same message

pi@octopi:~/rtsp2mjpg $ docker-compose -f docker-compose.yaml-armhf up -d
Creating rtsp2mjpg_rtsp2mjpg_1 ... error

ERROR: for rtsp2mjpg_rtsp2mjpg_1  Cannot start service rtsp2mjpg: failed to create endpoint rtsp2mjpg_rtsp2mjpg_1 on network rtsp2mjpg_default: failed to add the host (vethe1032e2) <=> sandbox (veth080f57b) pair interfaces: operation not supported

ERROR: for rtsp2mjpg  Cannot start service rtsp2mjpg: failed to create endpoint rtsp2mjpg_rtsp2mjpg_1 on network rtsp2mjpg_default: failed to add the host (vethe1032e2) <=> sandbox (veth080f57b) pair interfaces: operation not supported
ERROR: Encountered errors while bringing up the project.

Any guidance?

prawnz commented 4 years ago

Managed to fix it by changing Octoprint to run on a different port rather than 80 which is quite bizarre. My docker-compose.yaml-armhf doesn't contain the nginx syntaxes though

eroji commented 4 years ago

You are using the wrong docker-compose.yaml. Look at this.

https://www.reddit.com/r/octoprint/comments/eoz25z/octoprint_and_wyze_cam/

eroji commented 4 years ago

I didn't include nginx for the armhf flavor since Pi can be resource limited, plus the default nginx configuration wants to bind to port 80, which conflicts with OctoPrint. You should leave the ports the way it is, so that ffserver runs on port 8090 and OctoPrint on 80/443.

prawnz commented 4 years ago

Reinstalled the whole lot using

docker rm -f $(docker ps -a -q)
docker rmi $(docker images -q)
docker rm -v $(docker ps -a -q)

and re-ran docker-compose -f docker-compose.yaml-armhf up -d got it to work

Hope this helps others who is trying as well