No RSTP video from Docker Desktop

I have looked for 3 days now in Google to no avail.
I’m newbie with Docker.
I’m networking/programing illiterate.
Even though I’m trying to set my Wyze cams to send RSTP video to Homebridge>CameraUI without success. (without installing/using the existing especial and unsupported firmware)
I don’t know if whether is a bug or a configuration issue, although I have tried all I can with my little understanding.
I have managed to run Homebridge to integrate Nest to HomeKit. So I did to integrate Wyze Plugs to Homekit successfully. And previously I got Camera UI working fine, but using the especial firmware in the cameras that now I don’t use and won’t.

So I set up Docker with MRLT8/WYZE-BRIDGE:LATEST All cameras running fine as per logs.
I can (positively) see the cameras in a browser using the http. (http://macmini-IP-address : 8888/alllowercasecameraname/
Perfect!
But to see the cams in VLC, or my ultimate goal, CameraUI (Homebridge) the RSTP formula doesn’t work.
The former says: "Connection failed
VLC could not connect to “198.170.0.80:8554”. / “Your input can’t be opened
VLC is unable to open the MRL ‘rtsp://198.170.0.80:8554/veranda’. Check the log for details.”
The latter just spins forever or get a black screen.

Please give me some help.
I really appreciate it.

Thank you in advance,

Jo

MacMini Catalina
2.3Ghz Quad i7
16 Ram

Version
4.10.1 (82475)
Engine: 20.10.17
Compose: 1.29.2
Credential Helper: v0.6.4
Kubernetes: v1.24.1
Snyk: v1.827.0

To help you debug, please tell us how exactly you’re starting the container. Most importantly: are you publishing the port 8554 using some -p or equivalent option? The screenshot only shows 8888 (but I don’t know if Desktop should show all published ports).

Hi avbentem,

Thank you!

If the container is MRLT8/WYZE-BRIDGE, then I just click on the PLAY icon (:arrow_forward:) which appears in a list
I attached a screen shot.

The Docker app runs by double click on the icon in the app folder or one click on the Dock icon
It remains all the time in the task bar.

For VLC (used for quick test of the address only) I just set rtsp://…. nothing in front. Using the plain address, I get the error messages mentioned before:

"Connection failed
VLC could not connect to “198.170.0.80:8554”. / "Your input can’t be opened
VLC is unable to open the MRL ‘rtsp://198.170.0.80:8554/veranda’. Check the log for details.”

For Camera UI (Homebridge) you have to use (at least) the basic, -i
So it goes like this:
-i rtsp://000.000.0.00:….

Until I get video on VLC I won’t be able to say that there is a conflict Docker-CameraUI, as the plain rtsp:// should work in VLC in the first place.

And yes. After the colon, 8554. Always.

I uploaded a successful diagnostic: ID: 3E1D214D-F1B5-4809-83CF-5B48B2D0DBAA/20220725171058
I hope it can help

Would you need more information, please let me know.

Thank you for your help again!

Jo

But that “Docker Desktop” application does not come with your “MRLT8/WYZE-BRIDGE” container installed by default. So, you must have somehow created that, possibly by using some command line command?

If you used this command from https://github.com/mrlt8/docker-wyze-bridge:

docker run \
  -e WYZE_EMAIL=you@email.com \
  -e WYZE_PASSWORD=yourpassw0rd \
  -p 8888:8888 mrlt8/wyze-bridge:latest

…then that is missing a port mapping for -p 8554:8554. (Assuming the application in the container is actually supporting that.)

We’re just community members here, not Docker Inc. crew. We have no access to that upload.

I’m sorry avbentem.
When you asked “starting” I understood “turning on” “have running” the container.
I installed it with the command :slight_smile:

docker run \
  -e WYZE_EMAIL=you@email.com \
  -e WYZE_PASSWORD=yourpassw0rd \
  -p 8888:8888 mrlt8/wyze-bridge:latest

from: https://github.com/mrlt8/docker-wyze-bridge

And I didn’t know you dont have access to the diagnostics.
If you need it, let me know how you prefer me to send it.
Thank you!

The same GitHub page also shows a so-called Docker Compose example:

version: '2.4'
services:
    wyze-bridge:
        container_name: wyze-bridge
        restart: unless-stopped
        image: mrlt8/wyze-bridge:latest
        ports:
            - 1935:1935 # RTMP
            - 8554:8554 # RTSP
            - 8888:8888 # HLS
            - 5000:5000 # WEB-UI
        environment:
            - WYZE_EMAIL=${WYZE_EMAIL} # Replace with wyze email 
            - WYZE_PASSWORD=${WYZE_PASSWORD} # Replace with wyze password

Indeed, that seems to indicate 8554 is supported. So, you can either use Compose as described there, or extend your docker run command to also include the other ports:

docker run \
  -e WYZE_EMAIL=you@email.com \
  -e WYZE_PASSWORD=yourpassw0rd \
  -p 1935:1935 -p 8554:8554 -p 8888:8888 -p 5000:5000 \
  mrlt8/wyze-bridge:latest

(Aside, I would not know how to decode the diagnostics.)

Would you mind to tell me how will be the line in full?
it will be coma -p 8554:8554 mrlt8/wyze-bridge:latest
or a separate line?
like:

docker run \
  -e WYZE_EMAIL=you@email.com \
  -e WYZE_PASSWORD=yourpassw0rd \
  -p 8888:8888 mrlt8/wyze-bridge:latest
  -p 8554:8554

Thank you!

I guess you typed your response while I was typing mine; see above.

1 Like

Also, the options such as -p must always come before the image name mrlt8/wyze-bridge:latest.

And the \ characters at the end of a line (without any trailing whitespace) are Unix line continuation instructions. So your example could never work as your -p 8554:8554 is not part of the first command, lacking such \ at the end of the previous line.

See also https://docs.docker.com/engine/reference/commandline/run/ which shows:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

In your case, you’re using docker run OPTIONS IMAGE. And with that, these are all the same really:

docker run \
  -e WYZE_EMAIL=you@email.com -e WYZE_PASSWORD=yourpassw0rd \
  -p 1935:1935 -p 8554:8554 -p 8888:8888 -p 5000:5000 \
  mrlt8/wyze-bridge:latest

More line breaks (with line continuation characters):

docker run \
  -e WYZE_EMAIL=you@email.com \
  -e WYZE_PASSWORD=yourpassw0rd \
  -p 1935:1935 \
  -p 8554:8554 \
  -p 8888:8888 \
  -p 5000:5000 \
  mrlt8/wyze-bridge:latest

Long names for (some of) the options:

docker run \
  -e WYZE_EMAIL=you@email.com \
  -env WYZE_PASSWORD=yourpassw0rd \
  -p 1935:1935 \
  -publish 8554:8554 \
  -publish 8888:8888 \
  -publish 5000:5000 \
  mrlt8/wyze-bridge:latest

Different order for the options:

docker run \
  -p 5000:5000 \
  -p 1935:1935 \
  -e WYZE_PASSWORD=yourpassw0rd \
  -p 8554:8554 \
  -e WYZE_EMAIL=you@email.com \
  -p 8888:8888 \
  mrlt8/wyze-bridge:latest

Or on a single line (which wraps on the forum):

docker run -e WYZE_EMAIL=you@email.com -e WYZE_PASSWORD=yourpassw0rd -p 1935:1935 -p 8554:8554 -p 8888:8888 -p 5000:5000 mrlt8/wyze-bridge:latest

I will use the code to “extend your docker run command to also include the other ports:”
I didn’t see the first Docker Compose example code you wrote above in the page I use as guide to install wyze-bridge. At least not in the link I provided you.
As I said before, I’m not literate in this matters. I just try to follow tutorials.
While you are elaborating more that I could dream of, I was testing
And voila! Is working!
Thank you so much, Arjan!
On my side I have to say that was an awesome guidance.

Maybe unique as I couldn’t find anything like this before.
If so I hope it servers as a guidance for others in my case.
I hope Google gives it some visibility too.

Thank you!
Jo

1 Like

Definitely not. :wink: