docker-wyze-bridge icon indicating copy to clipboard operation
docker-wyze-bridge copied to clipboard

Help Fix bitrate and super slow errors

Open airbornetrooper82573 opened this issue 1 year ago • 45 comments

I have 2 V4 cams and 1 v3. I'm getting these errors now and I'm not sure how to fix them. I can't seem to load the feeds on my iPhone anymore either.

My compose:

version: '2.4' services: wyze-bridge: container_name: wyze-bridge network_mode: host restart: unless-stopped image: mrlt8/wyze-bridge:latest ports: - 1935:1935 # RTMP - 8554:8554 # RTSP - 8888:8888 # HLS - 8889:8889 #WebRTC - 8189:8189/udp # WebRTC/ICE - 5000:5000 # WEB-UI environment: # [OPTIONAL] (Can be set in the WebUI): - WYZE_EMAIL=myemail - WYZE_PASSWORD=mypass - API_ID=my api ID - API_KEY=my api key
# [OPTIONAL] IP Address of the host to enable WebRTC e.g.,: - WB_IP=192.168.1.50 - ON_DEMAND=False - IGNORE_OFFLINE=true - FPS_FIX=true - IGNORE_RES

My errors: [WyzeBridge] 192.168.1.102 - - [13/May/2024 17:08:44] "GET /signaling/front-porch-cam?webrtc HTTP/1.1" 200 - [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 23%) FW: 4.52.3.9455 🔒 [front-porch-cam] Re-encoding audio for compatibility with WebRTC in MTX [front-porch-cam] 🔊 Audio Enabled - AAC_ELD > LIBOPUS/16,000Hz [front-porch-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] [front-porch-cam] [video] super slow [front-porch-cam] WARNING: clear buffer [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] [video] super slow [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] [video] super slow [WyzeBridge] ✅ '/front-porch-cam stream is UP! (3/3) [WyzeBridge] 📖 New client reading from front-porch-cam [front-porch-cam] [video] super slow [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [WyzeBridge] 📕 Client stopped reading from front-porch-cam [front-porch-cam] WARNING: Audio pipe closed [front-porch-cam] Stream stopped [WyzeBridge] ❌ '/front-porch-cam' stream is down [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [WyzeBridge] ❌ '/front-porch-cam' stream is down [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 25%) FW: 4.52.3.9455 🔒 [front-porch-cam] [Exception] Unable to identify audio. [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 24%) FW: 4.52.3.9455 🔒 [front-porch-cam] [Exception] Unable to identify audio. [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 23%) FW: 4.52.3.9455 🔒 [front-porch-cam] [Exception] Unable to identify audio. [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 21%) FW: 4.52.3.9455 🔒 [front-porch-cam] Re-encoding audio for compatibility with WebRTC in MTX [front-porch-cam] 🔊 Audio Enabled - AAC_ELD > LIBOPUS/16,000Hz [front-porch-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] WARNING: Still waiting for first frame. Updating frame size. [front-porch-cam] Requesting frame_size=3, bitrate=180, fps=0 [front-porch-cam] WARNING: Audio pipe closed [front-porch-cam] [Exception] Did not receive a frame for 20s [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 25%) FW: 4.52.3.9455 🔒 [front-porch-cam] Re-encoding audio for compatibility with WebRTC in MTX [front-porch-cam] 🔊 Audio Enabled - AAC_ELD > LIBOPUS/16,000Hz [front-porch-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] [front-porch-cam] [video] super slow [front-porch-cam] WARNING: clear buffer [WyzeBridge] ✅ '/front-porch-cam stream is UP! (3/3) [WyzeBridge] 📖 New client reading from front-porch-cam [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] WARNING: Audio pipe closed [front-porch-cam] Stream stopped [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [WyzeBridge] ❌ '/front-porch-cam' stream is down [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [WyzeBridge] 📕 Client stopped reading from front-porch-cam [WyzeBridge] ❌ '/front-porch-cam' stream is down [WyzeBridge] 🎉 Connecting to WyzeCam V4 - Front Porch Cam on 192.168.10.166 [front-porch-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 25%) FW: 4.52.3.9455 🔒 [front-porch-cam] Re-encoding audio for compatibility with WebRTC in MTX [front-porch-cam] 🔊 Audio Enabled - AAC_ELD > LIBOPUS/16,000Hz [front-porch-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] [WyzeBridge] ✅ '/front-porch-cam stream is UP! (3/3) [WyzeBridge] 📖 New client reading from front-porch-cam [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0 [front-porch-cam] WARNING: clear buffer [back-yard-cam] bitrate=108 does not match 180 [back-yard-cam] Requesting frame_size=0, bitrate=180, fps=0

airbornetrooper82573 avatar May 13 '24 17:05 airbornetrooper82573

Can you try the latest dev build to see if that helps with the stability of the streams?

mrlt8 avatar May 14 '24 03:05 mrlt8

I switched to dev and same thing. Still getting bitrate does not match and super slow errors. I can't even get streams to play on the bridge web GUI and definitely not Home app. I did change the rtsp url to rtsp://wb:[email protected]:8554/driveway-v4

airbornetrooper82573 avatar May 14 '24 13:05 airbornetrooper82573

I figured out the web gui part, I had my truenas server's IP as the WB_IP. I can see the feeds on WB gui fine now. Still can't get it to show up in Scrypted or Home app.

airbornetrooper82573 avatar May 14 '24 14:05 airbornetrooper82573

hmm, what kind of cam is back-yard-cam? I'm not sure where bitrate=108 is coming from...

FYI, the bridge will generate a random API key on startup if you don't define one or it doesn't find one in the local directory. You can either set WB_AUTH=False if you keep everything local, or manually set the WB_API key:

environment:
...
    - WB_API=MyCustomAPIKey

or volume mount the token directory:

environment:
...
volumes:
      - /path/to/store/tokens/on/host:/tokens

and it will reuse the same data on subsequent starts.

mrlt8 avatar May 14 '24 14:05 mrlt8

I added the custom key. In scrypted, I'm leaving user/pass blank and putting in rtsp://wb:[email protected]:8554/driveway-v4 and still no snapshot or anything.

The back-yard-cam is a v3.

airbornetrooper82573 avatar May 14 '24 14:05 airbornetrooper82573

can you open rtsp://wb:[email protected]:8554/driveway-v4 in another media player like VLC?

mrlt8 avatar May 14 '24 14:05 mrlt8

It's not loading in VLC

airbornetrooper82573 avatar May 14 '24 15:05 airbornetrooper82573

What about just rtsp://192.168.1.215:8554/driveway-v4? VLC should prompt for some credentials if auth is enabled.

mrlt8 avatar May 14 '24 15:05 mrlt8

I got both ways to work in VLC. I think my phone changed rtsp to rtps and I did't catch it.

In scrypted do I put in wb for username and my api as password and put the plain RTSP stream URL in?

airbornetrooper82573 avatar May 14 '24 15:05 airbornetrooper82573

I would try the plain RTSP url with the credentials in the fields since it has that option and will make it easier to maintain in the future.

mrlt8 avatar May 14 '24 15:05 mrlt8

I did that for all 3 cameras and still not working on scrypted or Home.

[Back Yard Cam] rebroadcast error Error: rtsp socket closed at Socket. (/@scrypted/prebuffer-mixin/main.nodejs.js:1:140295) at Socket.emit (node:events:519:28) at Socket.emit (node:domain:488:12) at TCP. (node:net:338:12) [Front Porch Cam] rebroadcast error Error: rtsp socket closed at Socket. (/@scrypted/prebuffer-mixin/main.nodejs.js:1:140295) at Socket.emit (node:events:519:28) at Socket.emit (node:domain:488:12) at TCP. (node:net:338:12) [Driveway v4] rebroadcast error Error: rtsp socket closed at Socket. (/@scrypted/prebuffer-mixin/main.nodejs.js:1:140295) at Socket.emit (node:events:519:28) at Socket.emit (node:domain:488:12) at TCP. (node:net:338:12)

airbornetrooper82573 avatar May 14 '24 15:05 airbornetrooper82573

I can only get the RTSP feed to work in Scrypted if I set WB_AUTH=False

airbornetrooper82573 avatar May 15 '24 16:05 airbornetrooper82573

This seems tangentially related, but I'm getting the same error as mentioned above. I've had the issue for a while, but haven't had time to dig into it. It's a Cam v3, with the light socket add-on.

bitrate=108 does not match 180

Camera info:
audio | false
apartalarmParm | { "heightY": "100", "longX": "100", "startX": "0", "startY": "0", "type": "1" }
audioParm | { "sampleRate": "16000" }
basicInfo | { "firmware": "4.36.12.9751", "hardware": "0.0.0.0", "mac": "xxxxxxxx", "model": "WYZE_CAKP2JFUS", "type": "camera", "wifidb": "37" }
channelResquestResult | { "audio": "0", "video": "1" }
recordType | { "type": "1" }
sdParm | { "capacity": "30424", "detail": "0", "free": "1327", "status": "1" }
settingParm | { "logSd": "1", "logUdisk": "1", "nightVision": "3", "osd": "1", "stateVision": "1", "telnet": "2", "tz": "-4" }
uDiskParm | { "capacity": "0", "free": "0", "status": "2" }
videoParm | { "bitRate": "30", "fps": "15", "horizontalFlip": "1", "logo": "2", "resolution": "2", "time": "1", "type": "H264", "verticalFlip": "1" }
connected | true
dtls | 1
enabled | true
firmware_ver | 4.36.12.9751
hls_url | http://xxxxxx:8888/garage-entry/
img_time | 1720236481369
img_url | img/garage-entry.jpg
ip | 192.168.126.157
is_2k | false
is_battery | false
mac | D03F27133A7E
model_name | V3
motion | false
motion_ts | 0
name_uri | garage-entry
nickname | Garage Entry
on_demand | true
p2p_type | 3
parent_dtls | 0
parent_mac |  
product_model | WYZE_CAKP2JFUS
record | false
req_bitrate | 180
req_frame_size | 0
rtmp_url | rtmp://xxxxx:1935/garage-entry
rtsp_fw | false
rtsp_fw_enabled | false
rtsp_url | rtsp://xxxxxx:8554/garage-entry
snapshot_url | snapshot/garage-entry.jpg
start_time | 1720236034.5602236
status | 3
stream_auth | false
substream | false
thumbnail | https://rest.cache.cell-2-us-west-2-1.pr...
thumbnail_url | thumb/garage-entry.jpg
timezone_name | America/New_York
webrtc | true
webrtc_url | http://xxxxx:8889/garage-entry/

audio	false
apartalarmParm	{ "heightY": "100", "longX": "100", "startX": "0", "startY": "0", "type": "1" }
audioParm	{ "sampleRate": "16000" }
basicInfo	{ "firmware": "4.36.12.9751", "hardware": "0.0.0.0", "mac": "D03F27133A7E", "model": "WYZE_CAKP2JFUS", "type": "camera", "wifidb": "37" }
channelResquestResult	{ "audio": "0", "video": "1" }
recordType	{ "type": "1" }
sdParm	{ "capacity": "30424", "detail": "0", "free": "1327", "status": "1" }
settingParm	{ "logSd": "1", "logUdisk": "1", "nightVision": "3", "osd": "1", "stateVision": "1", "telnet": "2", "tz": "-4" }
uDiskParm	{ "capacity": "0", "free": "0", "status": "2" }
videoParm	{ "bitRate": "30", "fps": "15", "horizontalFlip": "1", "logo": "2", "resolution": "2", "time": "1", "type": "H264", "verticalFlip": "1" }
connected	true
dtls	1
enabled	true
firmware_ver	4.36.12.9751
hls_url	http://xxxxxx:8888/garage-entry/
img_time	1720236481369
img_url	[img/garage-entry.jpg](http://xxxxxxx:5000/img/garage-entry.jpg)
ip	xxxxxxxxx
is_2k	false
is_battery	false
mac	xxxxxxxxxxxxxx
model_name	V3
motion	false
motion_ts	0
name_uri	garage-entry
nickname	Garage Entry
on_demand	true
p2p_type	3
parent_dtls	0
parent_mac	
product_model	WYZE_CAKP2JFUS
record	false
req_bitrate	180
req_frame_size	0
rtmp_url	rtmp://xxxxx:1935/garage-entry
rtsp_fw	false
rtsp_fw_enabled	false
rtsp_url	rtsp://xxxxx:8554/garage-entry
snapshot_url	[snapshot/garage-entry.jpg](http://xxxxx:5000/snapshot/garage-entry.jpg)
start_time	1720236034.5602236
status	3
stream_auth	false
substream	false
thumbnail	
thumbnail_url	[thumb/garage-entry.jpg](http://xxxxxx:5000/thumb/garage-entry.jpg)
timezone_name	America/New_York
webrtc	true
webrtc_url	http://xxxxx:8889/garage-entry/

WarrenSchultz avatar Jul 06 '24 03:07 WarrenSchultz

@WarrenSchultz are you running the latest version of the bridge?

mrlt8 avatar Jul 06 '24 03:07 mrlt8

@mrlt8 Correct. I've tried both latest and latest-hw (pulling just relevant lines, there are other cameras as well)

More details: wyze-bridge | [WyzeBridge] 🎉 Connecting to WyzeCam V3 - Garage Entry on xxxx wyze-bridge | [garage-entry] 📡 Getting 180kb/s HD stream (H264/15fps) via LAN mode (WiFi: 39%) FW: 4.36.12.9751 🔒 wyze-bridge | [garage-entry] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] wyze-bridge | [WyzeBridge] ✅ '/garage-entry stream is UP! (3/3) wyze-bridge | [WyzeBridge] 📖 New client reading from garage-entry

wyze-bridge  | [garage-entry] bitrate=108 does not match 180
wyze-bridge  | [garage-entry] Requesting frame_size=0, bitrate=180, fps=0

WarrenSchultz avatar Jul 06 '24 03:07 WarrenSchultz

That bug should have been fixed a while ago. Can you confirm you're running v2.9.10 which is the current version?

mrlt8 avatar Jul 06 '24 03:07 mrlt8

image

WarrenSchultz avatar Jul 06 '24 03:07 WarrenSchultz

Thanks @WarrenSchultz!

Does the bitrate=108 does not match 180 message continuously show up in the logs?

Can you try manually changing the bitrate?

http://xxxxx:5000/api/garage-entry/bitrate/300

mrlt8 avatar Jul 06 '24 05:07 mrlt8

Command successful, same error

{
    "command": "bitrate",
    "payload": "300",
    "status": "success",
    "value": 300
}

[garage-entry] bitrate=108 does not match 300
wyze-bridge  | [garage-entry] Requesting frame_size=0, bitrate=300, fps=0
wyze-bridge  | [garage-entry] bitrate=108 does not match 300
wyze-bridge  | [garage-entry] Requesting frame_size=0, bitrate=300, fps=0
wyze-bridge  | [garage-entry] bitrate=108 does not match 300
wyze-bridge  | [garage-entry] Requesting frame_size=0, bitrate=300, fps=0
wyze-bridge  | [garage-entry] bitrate=108 does not match 300
wyze-bridge  | [garage-entry] Requesting frame_size=0, bitrate=300, fps=0

WarrenSchultz avatar Jul 06 '24 05:07 WarrenSchultz

Hmm, can you reboot the problematic camera to see if that helps?

mrlt8 avatar Jul 06 '24 05:07 mrlt8

I have this bitrate error no matter what bitrate I set. It's always complaining it doesn't match. Had it for a long time over several versions. I thought it was normal as everything works regardless. T The only time it goes away is when I set nothing for bitrate. But my network can't handle that

letrain02 avatar Jul 06 '24 06:07 letrain02

Hmmm, does it actually seem to be setting the correct bitrate even thought camera is reporting the wrong bitrate?

@letrain02 are you also running the beta firmware? And did the error start after updating to v1.9.x or after switching to the beta firmware?

Would appreciate if you could try the following API endpoints to see if the camera is returning the correct bitrate somewhere:

http://xxxxx:5000/api/garage-entry/bitrate
http://xxxxx:5000/api/garage-entry/_bitrate
http://xxxxx:5000/api/garage-entry/param_info/3,46

mrlt8 avatar Jul 06 '24 13:07 mrlt8

Screenshot 2024-07-06 10 07 25

@letrain02 are you also running the beta firmware? And did the error start after updating to v1.9.x or after switching to the beta firmware?

Not running beta firmware. Sorry. I used my mobile device and missed several comments in this thread. I noticed the bitrate and super slow in the issue. I get the super slow error initially when starting the container, but those subside after the cameras drop connection and come back online. But the bit rate issue always stays.

Edit: bridge is 2.9.10

Screenshot_20240706-095504.png

edit:2

all show bitrate 40 being returned. for me.

{"command":"bitrate","payload":null,"response":40,"status":"success","value":40} {"command":"bitrate","payload":"","response":40,"status":"success","value":40} {"command":"param_info","payload":"3,46","response":{"3":200,"46":40},"status":"success","value":{"3":200,"46":40}}

letrain02 avatar Jul 06 '24 14:07 letrain02

param_info/3,46

Rebooted the camera, restarted docker container so everything is "clean", and this is the only camera in use to simplify debugging.

In order:

{
    "command": "bitrate",
    "payload": null,
    "response": 108,
    "status": "success",
    "value": 108
}

{
    "command": "bitrate",
    "payload": "",
    "response": 108,
    "status": "success",
    "value": 108
}
{
    "command": "param_info",
    "payload": "3,46",
    "response": {
        "3": 120,
        "46": 30
    },
    "status": "success",
    "value": {
        "3": 120,
        "46": 30
    }
}

WarrenSchultz avatar Jul 06 '24 15:07 WarrenSchultz

@letrain02 is it only the panv3s that have the issue?

@WarrenSchultz Can you tell if the quality seems to change when adjusting the bitrate over the api?

mrlt8 avatar Jul 06 '24 15:07 mrlt8

@WarrenSchultz Can you tell if the quality seems to change when adjusting the bitrate over the api? Hm. I tried cranking it down incrementally all the way to 1, and up to 10000, and I can't seem to tell a difference.

It's very odd, the traffic seems to be bursty instead of constant, and I'm not seeing the time counter increment smoothly by the second either. (Although this may be related to the issue we're looking at here?)

I added another couple cameras which are also v3s. One is attached to a garage door controller, and one is a standalone.

wyze-bridge  | [garage-entry] bitrate=108 does not match 180
wyze-bridge  | [garage-entry] Requesting frame_size=0, bitrate=180, fps=0
wyze-bridge  | [garage-door] bitrate=108 does not match 180
wyze-bridge  | [garage-door] Requesting frame_size=0, bitrate=180, fps=0
wyze-bridge  | [hummingbird-cam] bitrate=108 does not match 180
wyze-bridge  | [hummingbird-cam] Requesting frame_size=0, bitrate=180, fps=0
wyze-bridge  | [garage-entry] bitrate=108 does not match 180

WarrenSchultz avatar Jul 06 '24 16:07 WarrenSchultz

Thanks, are the other v3s also running the beta firmware?

Could you see if the edge image makes any difference? It's using a different message to set the bitrate.

mrlt8 avatar Jul 06 '24 16:07 mrlt8

Yep, all the v3s are running the latest beta firmware.

I just tried the edge container, and same results.

WarrenSchultz avatar Jul 06 '24 16:07 WarrenSchultz

So, I happened to have a new cam in box that I updated to 4.36.10.7146, and got this error instead:

wyze-bridge  | [v3-black-test] bitrate=120 does not match 180
wyze-bridge  | [v3-black-test] Requesting frame_size=0, bitrate=180, fps=0

WarrenSchultz avatar Jul 06 '24 17:07 WarrenSchultz

One last bit of info. Updated that cam up to the highest non-beta offered in the app, 4.36.11.8391, and I'm not seeing the message there.

WarrenSchultz avatar Jul 06 '24 18:07 WarrenSchultz