docker-wyze-bridge
docker-wyze-bridge copied to clipboard
Floodlight v2 - HL_CFL2 add support
I recently installed the new floodlight v2 camera. https://www.wyze.com/products/wyze-cam-floodlight
It looks like the web UI is able to pull a screenshot from the camera of when it last detected motion, but no luck refreshing on the fly or getting a video stream. The problem seems similar to the doorbell v2 prior to it being implemented.
I looked at the pull request for the doorbell v2 to see if there were obvious changes that could be made to the code, but nothing really stood out to me (I'm too new at this 🙃 ). It looks like some code was already added to support this camera. Let me know if anyone would like me to test any changes.
I am running this in a docker container (portainer).
* Serving Flask app 'frontend'
* Debug mode: off
[WyzeBridge] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://172.17.0.4:5000
[WyzeBridge] Press CTRL+C to quit
[WyzeBridge] 🔐 MFA Code Required [Email]
[WyzeBridge] ✉️ e-mail code requested
[WyzeBridge] 📝 Enter verification code in the WebUI or add it to /tokens/mfa_token.txt
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:18:58] "GET / HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:18:58] "GET /static/bulma.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:18:58] "GET /static/site.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:18:58] "GET /static/bulma-toast.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:18:58] "GET /static/site.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:18:58] "GET /api/sse_status HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:00] "GET /mfa/263967 HTTP/1.1" 200 -
[WyzeBridge] ✅ Verification code accepted!
[WyzeBridge] 💾 Saving 'auth' to local cache...
[WyzeBridge] 🔍 Could not find local cache for 'user'
[WyzeBridge] ☁️ Fetching 'user' from the Wyze API...
[WyzeBridge] 💾 Saving 'user' to local cache...
[WyzeBridge] 🔍 Could not find local cache for 'cameras'
[WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API...
[WyzeBridge] [API] Fetched [8] cameras
[WyzeBridge] 💾 Saving 'cameras' to local cache...
[WyzeBridge] 🪄 FILTER ALLOWING: 1 of 8 cams
[WyzeBridge] [+] Adding Back Yard Floodlight Cam [HL_CFL2]
[WyzeBridge] starting MediaMTX 1.1.1
[WyzeBridge] 🎬 1 stream enabled
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:03] "GET /api/sse_status HTTP/1.1" 200 -
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.238
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET / HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET /static/bulma.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET /static/loading.svg HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET /static/site.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET /static/bulma-toast.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET /static/site.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:06] "GET /api/sse_status HTTP/1.1" 200 -
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 54%) FW: 4.53.2.8430 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
[WyzeBridge] ☁️ Pulling "back-yard-floodlight-cam" thumbnail to /img/back-yard-floodlight-cam.jpg
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:22] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:22] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 304 -
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.238
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 52%) FW: 4.53.2.8430 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:19:52] "GET /snapshot/back-yard-floodlight-cam.jpg?1706833177256 HTTP/1.1" 200 -
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:20:06] "GET /snapshot/back-yard-floodlight-cam.jpg?1706833177256 HTTP/1.1" 304 -
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.238
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 49%) FW: 4.53.2.8430 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
[WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:20:22] "GET /snapshot/back-yard-floodlight-cam.jpg?1706833207285 HTTP/1.1" 200 -
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 21s
debug logs for the camera:
00:29:18 [DEBUG][WyzeBridge] [API] cameras=['Back Yard Floodlight Cam', 'Front Doorbell', 'Bird bath', 'Pan', 'Poolesville Cam', 'Front Porch Cam 2', 'Back Yard Cam', 'Front Porch Cam']
00:29:18 [INFO][WyzeBridge] [+] Adding Back Yard Floodlight Cam [HL_CFL2]
00:29:22 [INFO][WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.238
00:29:22 [DEBUG][back-yard-floodlight-cam] Connect via IOTC_Connect_ByUIDEx
00:29:23 [INFO][back-yard-floodlight-cam] AV Client Start: chan_id=0 expected_chan=0
00:29:23 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:23 [DEBUG][back-yard-floodlight-cam] SEND <K10000ConnectRequest code=10000 resp_code=10001> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10000 txt_len=0> b''
00:29:23 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10001 txt_len=17>: b'\x03\xa3g\xe7\x04q!\xfa\xaf\x97\xc9\xf9\x86X\t\xffI'
00:29:23 [DEBUG][back-yard-floodlight-cam] Sending response: <K10008ConnectUserAuth code=10008 resp_code=10009>
00:29:23 [DEBUG][back-yard-floodlight-cam] SEND <K10008ConnectUserAuth code=10008 resp_code=10009> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10008 txt_len=31> b'\xd2u\xa9F\xe8\r\xabi\x9c\x91j\x13rf\x92\x9c5cbb\x01\x01\x0810142909'
00:29:23 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10009 txt_len=738>: b'{"connectionRes":"1","cameraInfo":{"audioParm":{"sampleRate":"16000"},"videoParm":{"type":"H264","bitRate":"30","resolution":"2","fps":"15","horizontalFlip":"1","verticalFlip":"1","logo":"2","time":"1"},"settingParm":{"stateVision":"1","nightVision":"3","osd":"1","logSd":"1","logUdisk":"1","telnet":"2","tz":"-5","location":"1"},"basicInfo":{"firmware":"4.53.2.8430","type":"camera","hardware":"0.0.0.0","model":"HL_CFL2","mac":"D03F27C45023","wifidb":"53"},"channelResquestResult":{"video":"1","audio":"1"},"recordType":{"type":"1"},"sdParm":{"status":"2","capacity":"0","free":"0","detail":"0"},"uDiskParm":{"status":"2","capacity":"0","free":"0"},"apartalarmParm":{"type":"0","startX":"25","longX":"50","startY":"25","heightY":"50"}}}'
00:29:23 [DEBUG][back-yard-floodlight-cam] SEND <K10056SetResolvingBit code=10056 resp_code=10057> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10056 txt_len=3> b'\x04\xb4\x00'
00:29:23 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10057 txt_len=1>: b'\x01'
00:29:24 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:24 [DEBUG][back-yard-floodlight-cam] [videoParm] {'type': 'H264', 'bitRate': '30', 'resolution': '2', 'fps': '15', 'horizontalFlip': '1', 'verticalFlip': '1', 'logo': '2', 'time': '1'}
00:29:24 [DEBUG][back-yard-floodlight-cam] [cameraInfo] {'audioParm': {'sampleRate': '16000'}, 'videoParm': {'type': 'H264', 'bitRate': '30', 'resolution': '2', 'fps': '15', 'horizontalFlip': '1', 'verticalFlip': '1', 'logo': '2', 'time': '1'}, 'settingParm': {'stateVision': '1', 'nightVision': '3', 'osd': '1', 'logSd': '1', 'logUdisk': '1', 'telnet': '2', 'tz': '-5', 'location': '1'}, 'basicInfo': {'firmware': '4.53.2.8430', 'type': 'camera', 'hardware': '0.0.0.0', 'model': 'HL_CFL2', 'mac': 'D03F27C45023', 'wifidb': '53'}, 'channelResquestResult': {'video': '1', 'audio': '1'}, 'recordType': {'type': '1'}, 'sdParm': {'status': '2', 'capacity': '0', 'free': '0', 'detail': '0'}, 'uDiskParm': {'status': '2', 'capacity': '0', 'free': '0'}, 'apartalarmParm': {'type': '0', 'startX': '25', 'longX': '50', 'startY': '25', 'heightY': '50'}}
00:29:24 [INFO][back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 53%) FW: 4.53.2.8430 🔒
00:29:24 [INFO][back-yard-floodlight-cam] [AUDIO] codec='alaw' sample_rate=16000 codec_id=143
00:29:24 [INFO][back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
00:29:24 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:24 [DEBUG][back-yard-floodlight-cam] SEND <K10092SetCameraTime code=10092 resp_code=10093> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10092 txt_len=4> b'e7\xbce'
00:29:24 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10093 txt_len=1>: b'\x01'
00:29:24 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:24 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:37 [ERROR][WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
00:29:37 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:37 [INFO][WyzeBridge] ☁️ Pulling "back-yard-floodlight-cam" thumbnail to /img/back-yard-floodlight-cam.jpg
00:29:38 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:38 [INFO][WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:29:38] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 304 -
00:29:38 [INFO][WyzeBridge] 192.168.0.210 - - [02/Feb/2024 00:29:38] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 304 -
00:29:38 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:39 [DEBUG][back-yard-floodlight-cam] [CONTROL] Attempting to GET: param_info
00:29:39 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:39 [DEBUG][back-yard-floodlight-cam] SEND <K10020CheckCameraParams code=10020 resp_code=10021> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10020 txt_len=12> b'\x0b\x01\x02\x03\x04\x05\x06\x07\x15\x16\x1b2'
00:29:39 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:39 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10021 txt_len=74>: b'{"1":1,"2":3,"3":30,"4":5,"5":20,"6":1,"7":1,"21":1,"22":-5,"27":2,"50":1}'
00:29:39 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:39 [INFO][back-yard-floodlight-cam] bitrate=30 does not match 180
00:29:39 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:39 [WARNING][back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
00:29:39 [DEBUG][back-yard-floodlight-cam] SEND <K10056SetResolvingBit code=10056 resp_code=10057> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10056 txt_len=3> b'\x04\xb4\x00'
00:29:39 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:39 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10057 txt_len=1>: b'\x01'
00:29:39 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:39 [DEBUG][back-yard-floodlight-cam] [CONTROL] response={'1': 1, '2': 3, '3': 30, '4': 5, '5': 20, '6': 1, '7': 1, '21': 1, '22': -5, '27': 2, '50': 1}
00:29:39 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
00:29:44 [WARNING][back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
00:29:44 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:44 [WARNING][back-yard-floodlight-cam] Requesting frame_size=3, bitrate=180, fps=0
00:29:44 [DEBUG][back-yard-floodlight-cam] SEND <K10056SetResolvingBit code=10056 resp_code=10057> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10056 txt_len=3> b'\x04\xb4\x00'
00:29:44 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10057 txt_len=1>: b'\x01'
00:29:44 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:44 [WARNING][back-yard-floodlight-cam] WARNING: Audio pipe closed
00:29:45 [WARNING][back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
00:29:57 [INFO][WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.238
00:29:57 [DEBUG][back-yard-floodlight-cam] Connect via IOTC_Connect_ByUIDEx
00:29:57 [INFO][back-yard-floodlight-cam] AV Client Start: chan_id=0 expected_chan=0
00:29:57 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:57 [DEBUG][back-yard-floodlight-cam] SEND <K10000ConnectRequest code=10000 resp_code=10001> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10000 txt_len=0> b''
00:29:57 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10001 txt_len=17>: b'\x03\xd8x\xc8\xd2\x92\x96\xfaR\x9b\x04\x14\xa8\\\xfb\x1e\x80'
00:29:57 [DEBUG][back-yard-floodlight-cam] Sending response: <K10008ConnectUserAuth code=10008 resp_code=10009>
00:29:57 [DEBUG][back-yard-floodlight-cam] SEND <K10008ConnectUserAuth code=10008 resp_code=10009> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10008 txt_len=31> b'^\xfb\x9f}x$\x9a\x0c\xec;~\x97BF\x14\x8e5cbb\x01\x01\x0810142909'
00:29:58 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10009 txt_len=738>: b'{"connectionRes":"1","cameraInfo":{"audioParm":{"sampleRate":"16000"},"videoParm":{"type":"H264","bitRate":"30","resolution":"2","fps":"15","horizontalFlip":"1","verticalFlip":"1","logo":"2","time":"1"},"settingParm":{"stateVision":"1","nightVision":"3","osd":"1","logSd":"1","logUdisk":"1","telnet":"2","tz":"-5","location":"1"},"basicInfo":{"firmware":"4.53.2.8430","type":"camera","hardware":"0.0.0.0","model":"HL_CFL2","mac":"D03F27C45023","wifidb":"49"},"channelResquestResult":{"video":"1","audio":"1"},"recordType":{"type":"1"},"sdParm":{"status":"2","capacity":"0","free":"0","detail":"0"},"uDiskParm":{"status":"2","capacity":"0","free":"0"},"apartalarmParm":{"type":"0","startX":"25","longX":"50","startY":"25","heightY":"50"}}}'
00:29:58 [DEBUG][back-yard-floodlight-cam] SEND <K10056SetResolvingBit code=10056 resp_code=10057> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10056 txt_len=3> b'\x04\xb4\x00'
00:29:58 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10057 txt_len=1>: b'\x01'
00:29:59 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:59 [DEBUG][back-yard-floodlight-cam] [videoParm] {'type': 'H264', 'bitRate': '30', 'resolution': '2', 'fps': '15', 'horizontalFlip': '1', 'verticalFlip': '1', 'logo': '2', 'time': '1'}
00:29:59 [DEBUG][back-yard-floodlight-cam] [cameraInfo] {'audioParm': {'sampleRate': '16000'}, 'videoParm': {'type': 'H264', 'bitRate': '30', 'resolution': '2', 'fps': '15', 'horizontalFlip': '1', 'verticalFlip': '1', 'logo': '2', 'time': '1'}, 'settingParm': {'stateVision': '1', 'nightVision': '3', 'osd': '1', 'logSd': '1', 'logUdisk': '1', 'telnet': '2', 'tz': '-5', 'location': '1'}, 'basicInfo': {'firmware': '4.53.2.8430', 'type': 'camera', 'hardware': '0.0.0.0', 'model': 'HL_CFL2', 'mac': 'D03F27C45023', 'wifidb': '49'}, 'channelResquestResult': {'video': '1', 'audio': '1'}, 'recordType': {'type': '1'}, 'sdParm': {'status': '2', 'capacity': '0', 'free': '0', 'detail': '0'}, 'uDiskParm': {'status': '2', 'capacity': '0', 'free': '0'}, 'apartalarmParm': {'type': '0', 'startX': '25', 'longX': '50', 'startY': '25', 'heightY': '50'}}
00:29:59 [INFO][back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 49%) FW: 4.53.2.8430 🔒
00:29:59 [INFO][back-yard-floodlight-cam] [AUDIO] codec='alaw' sample_rate=16000 codec_id=143
00:29:59 [INFO][back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
00:29:59 [DEBUG][back-yard-floodlight-cam] Now listening on channel id 0
00:29:59 [DEBUG][back-yard-floodlight-cam] SEND <K10092SetCameraTime code=10092 resp_code=10093> <TutkWyzeProtocolHeader prefix=b'HL' protocol=5 code=10092 txt_len=4> b'\x887\xbce'
00:29:59 [DEBUG][back-yard-floodlight-cam] RECV <TutkWyzeProtocolHeader prefix=b'HL' protocol=36 code=10093 txt_len=1>: b'\x01'
00:29:59 [DEBUG][back-yard-floodlight-cam] No longer listening on channel id 0
00:29:59 [WARNING][back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
I have a few of these also and I'm not getting any stream data from them. It does pull metadata correctly though.
@bcwik9 I was able to get this working using the dev branch and the following settings:
I am using Unraid, and run this in a docker container there so, YMMV.
Key: QUALITY_FRONT_YARD_CAM
Value: SD60
Key: QUALITY
Value: HD180
This allowed me to set the bitrate for the HL_CFL2 (QUALITY_FRONT_YARD_CAM) and a global value for everything else. I went through a bunch of different combos and this worked for me with the v1 cams + this new HL_CFL2. All this works great if you can stomach a lower quality stream on a 2k camera... lol I just needed some record from it, not reflections in eyeballs.
Really hoping for higher bitrate support though, it would be nice.
Now, just stuck with figuring out the balance of WAN traffic to these things (currently all blocked), since blocking WAN in on the cams will kill the RTSP streams for whatever reason.
That ended up working, thanks for this @lonjee !
Setting quality to SD30 worked for me. I just intend to have it running on a HomeAssistant dashboard, don't need to have much more quality than to determine if someone is here. Perfect for my needs until the repo is updated to support new cam models. Thank you!
The SD30
quality is a working for me as a temporary workaround - thank you for posting that solution @lonjee. I noticed all of the SD<INT> options seem to work, but no difference in stream quality. I also noticed the frame rate is much lower than my other cams (the feed seems to refresh every 1 or 2 seconds).
Fingers crossed someone can figure out how to get higher resolution streams out of these cams.
Yes, thank you @lonjee for that temporary workaround. I just bought 3 and love being able to see them
I have it working on the docker nightly
image. I have not figured out how to get it to work on the HomeAssistant addon
I'm really hoping for a solution here. The workaround above doesn't really work for my needs, since the quality is very poor and the FPS is less than 1 frame per second.
I am using Docker Wyze Bridge on Raspberry Pi. In the add-on settings, I added a "Camera Specific Option" for my v2 floodlight like this...
- CAM_NAME: Front Cam
QUALITY: SD30
... and it is working.
The V2 floodlights have a lot more options that my V1 floodlights
V1 Floodlight options in Home Assistant (Wyze Home Assistant Integration)
V2 FLoodlight options in Home Assistant (Wyze Home Assistant Integration)
Could someone see if the HD stream works on the dev build?
wyze-bridge | [WyzeBridge] WARNING: invalid escape sequence ':' wyze-bridge | wyze-bridge | 🚀 DOCKER-WYZE-BRIDGE v2.7.0 X86_64 DEV BUILD [2024-04-13t01:45:19.819z] 4d33186 wyze-bridge | wyze-bridge | [WyzeBridge] 🔍 Could not find local cache for 'auth' wyze-bridge | [WyzeBridge] ☁️ Fetching 'auth' from the Wyze API... wyze-bridge | * Serving Flask app 'frontend' wyze-bridge | * Debug mode: off wyze-bridge | [WyzeBridge] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. wyze-bridge | * Running on all addresses (0.0.0.0) wyze-bridge | * Running on http://127.0.0.1:5000 wyze-bridge | * Running on http://172.24.0.10:5000 wyze-bridge | [WyzeBridge] Press CTRL+C to quit wyze-bridge | [WyzeBridge] 💾 Saving 'auth' to local cache... wyze-bridge | [WyzeBridge] 🔍 Could not find local cache for 'user' wyze-bridge | [WyzeBridge] ☁️ Fetching 'user' from the Wyze API... wyze-bridge | [WyzeBridge] 💾 Saving 'user' to local cache... wyze-bridge | [WyzeBridge] 🔍 Could not find local cache for 'cameras' wyze-bridge | [WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API... wyze-bridge | [WyzeBridge] [API] Fetched [3] cameras wyze-bridge | [WyzeBridge] 💾 Saving 'cameras' to local cache... wyze-bridge | [WyzeBridge] 🪄 FILTER ALLOWING: 1 of 3 cams wyze-bridge | [WyzeBridge] [+] Adding Backyard Cam [HL_CFL2] wyze-bridge | [WyzeBridge] starting MediaMTX 1.1.1 wyze-bridge | [WyzeBridge] 🎬 1 stream enabled wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:19:28] "GET /api/sse_status HTTP/1.1" 200 - wyze-bridge | [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.1.76 wyze-bridge | [backyard-cam] 📡 Getting 180kb/s 4 stream (H264/20fps) via LAN mode (WiFi: 62%) FW: 4.53.2.9149 🔒 wyze-bridge | [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] wyze-bridge | [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5] wyze-bridge | [backyard-cam] bitrate=30 does not match 180 wyze-bridge | [backyard-cam] Requesting frame_size=4, bitrate=180, fps=0 wyze-bridge | [backyard-cam] WARNING: Still waiting for first frame. Updating frame size. wyze-bridge | [backyard-cam] Requesting frame_size=4, bitrate=180, fps=0 wyze-bridge | [backyard-cam] [Exception] Did not receive a frame for 20s wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:11] "GET /snapshot/backyard-cam.jpg?1712981999130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:11] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.1.76 wyze-bridge | [backyard-cam] 📡 Getting 180kb/s 4 stream (H264/20fps) via LAN mode (WiFi: 62%) FW: 4.53.2.9149 🔒 wyze-bridge | [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] wyze-bridge | [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5] wyze-bridge | [WyzeBridge] [backyard-cam] Snapshot timed out wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:26] "GET /snapshot/backyard-cam.jpg?1712981999130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:26] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [backyard-cam] bitrate=30 does not match 180 wyze-bridge | [backyard-cam] Requesting frame_size=4, bitrate=180, fps=0 wyze-bridge | [backyard-cam] WARNING: Still waiting for first frame. Updating frame size. wyze-bridge | [backyard-cam] Requesting frame_size=4, bitrate=180, fps=0 wyze-bridge | [backyard-cam] [Exception] Did not receive a frame for 20s wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:41] "GET /snapshot/backyard-cam.jpg?1712982029130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:41] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.1.76 wyze-bridge | [WyzeBridge] [backyard-cam] Snapshot timed out wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:56] "GET /snapshot/backyard-cam.jpg?1712982029130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:20:56] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [WyzeBridge] ⏰ Timed out connecting to Backyard Cam. wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:21:11] "GET /snapshot/backyard-cam.jpg?1712982029130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:21:11] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.1.76 wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:21:11] "GET /snapshot/backyard-cam.jpg?1712982059130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:21:11] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [backyard-cam] 📡 Getting 180kb/s 4 stream (H264/20fps) via LAN mode (WiFi: 70%) FW: 4.53.2.9149 🔒 wyze-bridge | [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] wyze-bridge | [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5] wyze-bridge | [WyzeBridge] [backyard-cam] Snapshot timed out wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:21:26] "GET /snapshot/backyard-cam.jpg?1712982059130 HTTP/1.1" 307 - wyze-bridge | [WyzeBridge] 192.168.1.8 - - [13/Apr/2024 04:21:26] "GET /static/notavailable.svg HTTP/1.1" 304 - wyze-bridge | [backyard-cam] bitrate=30 does not match 180 wyze-bridge | [backyard-cam] Requesting frame_size=4, bitrate=180, fps=0 wyze-bridge | [backyard-cam] WARNING: Still waiting for first frame. Updating frame size. wyze-bridge | [backyard-cam] Requesting frame_size=4, bitrate=180, fps=0 wyze-bridge | [backyard-cam] [Exception] Did not receive a frame for 20s
Mine is also not working on dev branch:
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.235
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:43] "GET / HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:43] "GET /static/loading.svg HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:43] "GET /static/site.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:43] "GET /static/bulma.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:43] "GET /static/site.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:43] "GET /static/bulma-toast.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:44] "GET /api/sse_status HTTP/1.1" 200 -
[back-yard-floodlight-cam] 📡 Getting 180kb/s 4 stream (H264/20fps) via LAN mode (WiFi: 48%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5]
[WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:59] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 307 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:24:59] "GET /static/notavailable.svg HTTP/1.1" 304 -
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] Requesting frame_size=4, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=4, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:25:12] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 307 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:25:12] "GET /static/notavailable.svg HTTP/1.1" 304 -
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.235
[back-yard-floodlight-cam] 📡 Getting 180kb/s 4 stream (H264/20fps) via LAN mode (WiFi: 52%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5]
[WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:25:29] "GET /snapshot/back-yard-floodlight-cam.jpg?1712982314251 HTTP/1.1" 307 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:25:29] "GET /static/notavailable.svg HTTP/1.1" 304 -
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] Requesting frame_size=4, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=4, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:25:43] "GET /snapshot/back-yard-floodlight-cam.jpg?1712982314251 HTTP/1.1" 307 -
[WyzeBridge] 192.168.0.210 - - [13/Apr/2024 04:25:43] "GET /static/notavailable.svg HTTP/1.1" 304 -
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.235
[back-yard-floodlight-cam] 📡 Getting 180kb/s 4 stream (H264/20fps) via LAN mode (WiFi: 48%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5]
Same, more of the same as above
[driveway-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[sideway-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=5]
[backyard-cam] bitrate=30 does not match 180
[backyard-cam] Requesting frame_size=4, bitrate=180, fps=0
[driveway-cam] bitrate=30 does not match 180
[driveway-cam] Requesting frame_size=4, bitrate=180, fps=0
[sideway-cam] bitrate=30 does not match 180
[sideway-cam] Requesting frame_size=4, bitrate=180, fps=0
[backyard-cam] WARNING: Still waiting for first frame. Updating frame size.
[backyard-cam] Requesting frame_size=4, bitrate=180, fps=0
[backyard-cam] [Exception] Did not receive a frame for 20s
[sideway-cam] WARNING: Still waiting for first frame. Updating frame size.
[sideway-cam] Requesting frame_size=4, bitrate=180, fps=0
Thanks @dreondre @bcwik9 @derekslenk!
I updated the frame_size to 5
for the 2k video in the latest dev branch.
New dev image should be up in a few minutes.
I just don't know what to make of this, besides it not working (driveway, sideway, backyard are all the floodlight v2's)
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Driveway Cam on 192.168.15.236
[WyzeBridge] 192.168.13.125 - - [13/Apr/2024 05:09:12] "GET /img/front-yard-cam.jpg HTTP/1.1" 304 -
[WyzeBridge] 192.168.13.125 - - [13/Apr/2024 05:09:12] "GET /img/wyze.jpg HTTP/1.1" 304 -
[WyzeBridge] 192.168.13.125 - - [13/Apr/2024 05:09:12] "GET /api/sse_status HTTP/1.1" 200 -
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.15.239
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Sideway Cam on 192.168.14.41
[backyard-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 61%) FW: 4.53.2.8995 🔒
[backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[sideway-cam] 📡 Getting 180kb/s 2K stream (H264/15fps) via LAN mode (WiFi: 34%) FW: 4.53.2.8995 🔒
[driveway-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 25%) FW: 4.53.2.8995 🔒
[sideway-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[driveway-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[WyzeBridge] [sideway-cam] Snapshot timed out
[WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API...
[WyzeBridge] [API] Fetched [7] cameras
[WyzeBridge] 💾 Saving 'cameras' to local cache...
[WyzeBridge] 192.168.13.125 - - [13/Apr/2024 05:09:28] "GET /img/sideway-cam.jpg HTTP/1.1" 307 -
[backyard-cam] bitrate=30 does not match 180
[backyard-cam] Requesting frame_size=5, bitrate=180, fps=0
[driveway-cam] bitrate=30 does not match 180
[driveway-cam] Requesting frame_size=5, bitrate=180, fps=0
[sideway-cam] bitrate=30 does not match 180
[sideway-cam] Requesting frame_size=5, bitrate=180, fps=0
[backyard-cam] WARNING: Still waiting for first frame. Updating frame size.
[backyard-cam] Requesting frame_size=5, bitrate=180, fps=0
[sideway-cam] WARNING: Still waiting for first frame. Updating frame size.
[sideway-cam] Requesting frame_size=5, bitrate=180, fps=0
[driveway-cam] WARNING: Still waiting for first frame. Updating frame size.
[backyard-cam] [Exception] Did not receive a frame for 20s
[driveway-cam] Requesting frame_size=5, bitrate=180, fps=0
[sideway-cam] [Exception] Did not receive a frame for 20s
[driveway-cam] [Exception] Did not receive a frame for 21s
Actually, will delete that maybe, I might still be using sha 4d3318645986a4a7c5012270b7f4b49d629d0c10
@derekslenk it seems to be request the correct frame_size=5
but the bitrate info seems to be stuck at 30. This is a known issue with some newer firmware, so I've added a workaround that should use a different method K10050GetVideoParam
to verify the bitrate.
New dev build should be up in a few minutes
Unfortunately, I am just getting
[sideway-cam] bitrate=30 does not match 180
[sideway-cam] Requesting frame_size=5, bitrate=180, fps=0
[driveway-cam] bitrate=30 does not match 180
[driveway-cam] Requesting frame_size=5, bitrate=180, fps=0
[backyard-cam] bitrate=30 does not match 180
[backyard-cam] Requesting frame_size=5, bitrate=180, fps=0
[backyard-cam] WARNING: Still waiting for first frame. Updating frame size.
aka lots of the same. Hopefully someone else has better luck?
eta, just saw this swing through
[driveway-cam] [CONTROL] ERROR - error='[-20018] AV_ER_CLIENT_EXIT', cmd='_bitrate'
[driveway-cam] [-20021] AV_ER_SENDIOCTRL_ALREADY_CALLED
hmm, can you post the output of :5000api/<cam-name>/camera_info
from the browser?
output from my :5000/api/floodlight-cam/camera_info
{"command":"camera_info","payload":"","response":"[-20021] AV_ER_SENDIOCTRL_ALREADY_CALLED","status":"error","value":null}
My camera info is alternating between
{"command":"camera_info","payload":"","response":"[-20021] AV_ER_SENDIOCTRL_ALREADY_CALLED","status":"error","value":null}
and
{"command":"camera_info","payload":"","response":{"1":1,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":1,"22":-4,"23":125,"24":100,"25":0,"26":1,"27":2,"28":2,"29":25,"3":30,"30":25,"31":50,"32":50,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":2,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1},"status":"success","value":{"1":1,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":1,"22":-4,"23":125,"24":100,"25":0,"26":1,"27":2,"28":2,"29":25,"3":30,"30":25,"31":50,"32":50,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":2,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1}}
Here's my output if it helps:
{"command":"camera_info","payload":"","response":{"1":1,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":2,"22":-4,"23":127,"24":100,"25":1,"26":1,"27":2,"28":2,"29":0,"3":30,"30":0,"31":100,"32":100,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":2,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1},"status":"success","value":{"1":1,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":2,"22":-4,"23":127,"24":100,"25":1,"26":1,"27":2,"28":2,"29":0,"3":30,"30":0,"31":100,"32":100,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":2,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1}}
{"command":"camera_info","payload":"","response":"[-20021] AV_ER_SENDIOCTRL_ALREADY_CALLED","status":"error","value":null}
I have the same results as @dreondre and @bcwik9
Same issue on the nightly build:
{"command":"camera_info","payload":"","response":{"1":2,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":1,"22":-4,"23":254,"24":100,"25":1,"26":1,"27":2,"28":2,"29":0,"3":30,"30":0,"31":100,"32":100,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":1,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1},"status":"success","value":{"1":2,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":1,"22":-4,"23":254,"24":100,"25":1,"26":1,"27":2,"28":2,"29":0,"3":30,"30":0,"31":100,"32":100,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":1,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1}}
{"command":"camera_info","payload":"","response":"[-20021] AV_ER_SENDIOCTRL_ALREADY_CALLED","status":"error","value":null}
[WyzeBridge] [CONTROL] Connecting to driveway [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Driveway on 192.168.101.14 [driveway] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 47%) FW: 4.53.2.8995 🔒 [driveway] [CONTROL] Attempting to GET: camera_info [driveway] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] [driveway] bitrate=30 does not match 180 [driveway] Requesting frame_size=3, bitrate=180, fps=0 [driveway] [CONTROL] response={'1': 2, '2': 3, '3': 30, '4': 5, '5': 20, '6': 1, '7': 1, '8': 1, '9': 1, '10': 1, '11': 2, '12': 1, '13': 1, '14': 5, '15': 2, '16': 5, '17': 2, '18': 2, '19': 0, '20': 1440, '21': 1, '22': -4, '23': 254, '24': 100, '25': 1, '26': 1, '27': 2, '28': 2, '29': 0, '30': 0, '31': 100, '32': 100, '33': 1, '34': -1, '35': -1, '36': 0, '37': 0, '38': 0, '39': 0, '40': 0, '41': 0, '42': 0, '43': 0, '44': 0, '45': 1, '46': 30, '47': 1, '48': 50, '49': 2, '50': 1, '51': 0, '52': 0, '53': 0, '54': 1, '55': 255, '56': 300, '57': 0, '58': 2, '59': 1, '60': 0} [WyzeBridge] [CONTROL] Disconnecting from driveway [driveway] Stream stopped
Thanks everyone. I added a temporary patch that should just ignore the wrong bitrate as a temporary solution till we can figure out a way to read the actual bitrate value from the camera.
Thanks for checking this out! I just tested the latest dev branch but still no luck. I'm getting the same messages from the API camera_info as posted above:
{"command":"camera_info","payload":"","response":{"1":1,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":2,"22":-4,"23":127,"24":100,"25":1,"26":1,"27":2,"28":2,"29":0,"3":30,"30":0,"31":100,"32":100,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":2,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1},"status":"success","value":{"1":1,"10":1,"11":2,"12":1,"13":1,"14":5,"15":2,"16":5,"17":2,"18":2,"19":0,"2":3,"20":1440,"21":2,"22":-4,"23":127,"24":100,"25":1,"26":1,"27":2,"28":2,"29":0,"3":30,"30":0,"31":100,"32":100,"33":1,"34":-1,"35":-1,"36":0,"37":0,"38":0,"39":0,"4":5,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":30,"47":2,"48":50,"49":2,"5":20,"50":1,"51":0,"52":0,"53":0,"54":1,"55":255,"56":300,"57":0,"58":2,"59":1,"6":1,"60":0,"7":1,"8":1,"9":1}}
Here's a snippet from my regular log as well:
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.236
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 47%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=5, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.236
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 50%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=5, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.236
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 46%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] bitrate=30 does not match 180
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET / HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET /static/bulma.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET /static/loading.svg HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET /static/site.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET /static/bulma-toast.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET /static/site.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:12] "GET /api/sse_status HTTP/1.1" 200 -
[back-yard-floodlight-cam] WARNING: Still waiting for first frame. Updating frame size.
[back-yard-floodlight-cam] Requesting frame_size=5, bitrate=180, fps=0
[back-yard-floodlight-cam] WARNING: Audio pipe closed
[back-yard-floodlight-cam] [Exception] Did not receive a frame for 20s
[WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API...
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.236
[WyzeBridge] [API] Fetched [8] cameras
[WyzeBridge] 💾 Saving 'cameras' to local cache...
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:24] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 307 -
[WyzeBridge] 192.168.0.210 - - [15/Apr/2024 17:12:24] "GET /static/notavailable.svg HTTP/1.1" 304 -
[back-yard-floodlight-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 47%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
Has anyone been able to confirm if the higher res size works on the latest dev builds?
Has anyone been able to confirm if the higher res size works on the latest dev builds?
Hi, I pulled the latest dev
branch and it is not working for me.
I can confirm the same as @bcwik9
🚀 DOCKER-WYZE-BRIDGE v2.7.0 X86_64 DEV BUILD [2024-04-19t15:01:20.134z] ac54b8d
[WyzeBridge] 🔍 Could not find local cache for 'auth' [WyzeBridge] ☁️ Fetching 'auth' from the Wyze API...
- Serving Flask app 'frontend'
- Debug mode: off [WyzeBridge] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
- Running on all addresses (0.0.0.0)
- Running on http://127.0.0.1:5000
- Running on http://172.24.0.5:5000 [WyzeBridge] Press CTRL+C to quit [WyzeBridge] 💾 Saving 'auth' to local cache... [WyzeBridge] 🔍 Could not find local cache for 'user' [WyzeBridge] ☁️ Fetching 'user' from the Wyze API... [WyzeBridge] 💾 Saving 'user' to local cache... [WyzeBridge] 🔍 Could not find local cache for 'cameras' [WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API... [WyzeBridge] [API] Fetched [3] cameras [WyzeBridge] 💾 Saving 'cameras' to local cache... [WyzeBridge] 🪄 FILTER ALLOWING: 1 of 3 cams [WyzeBridge] [+] Adding Backyard Cam [HL_CFL2] [WyzeBridge] starting MediaMTX 1.1.1 [WyzeBridge] 🎬 1 stream enabled [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.1.76 [backyard-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 60%) FW: 4.53.2.9149 🔒 [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1] [backyard-cam] bitrate=30 does not match 180 [backyard-cam] WARNING: Still waiting for first frame. Updating frame size. [backyard-cam] Requesting frame_size=5, bitrate=180, fps=0 [backyard-cam] [Exception] Did not receive a frame for 20s [WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Backyard Cam on 192.168.1.76 [backyard-cam] 📡 Getting 180kb/s 2K stream (H264/20fps) via LAN mode (WiFi: 57%) FW: 4.53.2.9149 🔒 [backyard-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
Thanks, I made a few changes to the frame_size. Could someone give it another try?
Awesome progress, thank you! The resolution is much improved! I am able to get a stream in Frigate via RTSP as well, though it's < 1 FPS. HLS stream via the web-ui does not appear to work. Here's my log:
[WyzeBridge] ✅ Verification code accepted!
[WyzeBridge] 💾 Saving 'auth' to local cache...
[WyzeBridge] 🔍 Could not find local cache for 'user'
[WyzeBridge] ☁️ Fetching 'user' from the Wyze API...
[WyzeBridge] 💾 Saving 'user' to local cache...
[WyzeBridge] 🔍 Could not find local cache for 'cameras'
[WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API...
[WyzeBridge] [API] Fetched [8] cameras
[WyzeBridge] 💾 Saving 'cameras' to local cache...
[WyzeBridge] 🪄 FILTER ALLOWING: 1 of 8 cams
[WyzeBridge] [+] Adding Back Yard Floodlight Cam [HL_CFL2]
[WyzeBridge] starting MediaMTX 1.1.1
[WyzeBridge] 🎬 1 stream enabled
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET / HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET /static/bulma.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET /static/site.css HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET /static/loading.svg HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET /static/bulma-toast.js HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET /static/site.js HTTP/1.1" 304 -
[WyzeBridge] 🎉 Connecting to WyzeCam Floodlight V2 - Back Yard Floodlight Cam on 192.168.0.236
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:06] "GET /api/sse_status HTTP/1.1" 200 -
[back-yard-floodlight-cam] 📡 Getting 180kb/s SD stream (H264/20fps) via LAN mode (WiFi: 44%) FW: 4.53.2.8995 🔒
[back-yard-floodlight-cam] 🔊 Audio Enabled - ALAW > AAC/16,000Hz
[back-yard-floodlight-cam] WARNING: Skipping wrong frame_size at start of stream [frame_size=1]
[back-yard-floodlight-cam] [video] super slow
[back-yard-floodlight-cam] WARNING: clear buffer
[WyzeBridge] ✅ '/back-yard-floodlight-cam stream is UP! (3/3)
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] [back-yard-floodlight-cam] Snapshot timed out
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:21] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 307 -
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:21] "GET /static/notavailable.svg HTTP/1.1" 304 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:21] "GET /img/back-yard-floodlight-cam.jpg HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:46] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710438268 HTTP/1.1" 200 -
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:40:56] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710438268 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:41:16] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710467560 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:41:26] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710467560 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:41:46] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710497564 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[back-yard-floodlight-cam] [CONTROL] Attempting to GET: camera_info
[back-yard-floodlight-cam] bitrate=30 does not match 180
[back-yard-floodlight-cam] Requesting frame_size=4, bitrate=180, fps=0
[back-yard-floodlight-cam] [CONTROL] response={'1': 1, '2': 3, '3': 30, '4': 5, '5': 20, '6': 1, '7': 1, '8': 1, '9': 1, '10': 1, '11': 2, '12': 1, '13': 1, '14': 5, '15': 2, '16': 5, '17': 2, '18': 2, '19': 0, '20': 1440, '21': 2, '22': -4, '23': 127, '24': 100, '25': 1, '26': 1, '27': 2, '28': 2, '29': 0, '30': 0, '31': 100, '32': 100, '33': 1, '34': -1, '35': -1, '36': 0, '37': 0, '38': 0, '39': 0, '40': 0, '41': 0, '42': 0, '43': 0, '44': 0, '45': 1, '46': 30, '47': 2, '48': 50, '49': 2, '50': 1, '51': 0, '52': 0, '53': 0, '54': 1, '55': 255, '56': 300, '57': 0, '58': 2, '59': 1, '60': 0}
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:41:48] "GET /api/back-yard-floodlight-cam/camera_info HTTP/1.1" 200 -
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:41:56] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710497564 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:42:08] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710497564 HTTP/1.1" 200 -
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:42:08] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710528265 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:42:18] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710528265 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:42:46] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710557556 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam
[WyzeBridge] 📕 Client stopped reading from back-yard-floodlight-cam
[WyzeBridge] 192.168.0.210 - - [21/Apr/2024 14:42:56] "GET /snapshot/back-yard-floodlight-cam.jpg?1713710557556 HTTP/1.1" 200 -
[WyzeBridge] 📖 New client reading from back-yard-floodlight-cam