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

Floodlight v2 - HL_CFL2 add support

Open bcwik9 opened this issue 1 year ago • 6 comments

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]

bcwik9 avatar Feb 02 '24 00:02 bcwik9

I have a few of these also and I'm not getting any stream data from them. It does pull metadata correctly though.

akeslo avatar Feb 04 '24 00:02 akeslo

@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.

lonjee avatar Feb 13 '24 02:02 lonjee

That ended up working, thanks for this @lonjee !

akeslo avatar Feb 13 '24 16:02 akeslo

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! Cleanshot 2024-02-13 at 15 31 16

nettles-sync avatar Feb 13 '24 20:02 nettles-sync

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.

bcwik9 avatar Feb 14 '24 18:02 bcwik9

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

derekslenk avatar Feb 15 '24 02:02 derekslenk

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.

bcwik9 avatar Mar 13 '24 14:03 bcwik9

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) image

V2 FLoodlight options in Home Assistant (Wyze Home Assistant Integration) image image

drewkeller avatar Apr 11 '24 00:04 drewkeller

Could someone see if the HD stream works on the dev build?

mrlt8 avatar Apr 13 '24 02:04 mrlt8

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

dreondre avatar Apr 13 '24 04:04 dreondre

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]

bcwik9 avatar Apr 13 '24 04:04 bcwik9

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

derekslenk avatar Apr 13 '24 04:04 derekslenk

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.

mrlt8 avatar Apr 13 '24 04:04 mrlt8

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

derekslenk avatar Apr 13 '24 05:04 derekslenk

Actually, will delete that maybe, I might still be using sha 4d3318645986a4a7c5012270b7f4b49d629d0c10

derekslenk avatar Apr 13 '24 05:04 derekslenk

@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

mrlt8 avatar Apr 13 '24 05:04 mrlt8

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

derekslenk avatar Apr 13 '24 05:04 derekslenk

hmm, can you post the output of :5000api/<cam-name>/camera_info from the browser?

mrlt8 avatar Apr 13 '24 06:04 mrlt8

output from my :5000/api/floodlight-cam/camera_info

{"command":"camera_info","payload":"","response":"[-20021] AV_ER_SENDIOCTRL_ALREADY_CALLED","status":"error","value":null}

Vorenu5 avatar Apr 13 '24 13:04 Vorenu5

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}}

dreondre avatar Apr 13 '24 14:04 dreondre

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}

bcwik9 avatar Apr 13 '24 15:04 bcwik9

I have the same results as @dreondre and @bcwik9

derekslenk avatar Apr 13 '24 17:04 derekslenk

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

tiny102 avatar Apr 13 '24 23:04 tiny102

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.

mrlt8 avatar Apr 15 '24 14:04 mrlt8

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]

bcwik9 avatar Apr 15 '24 17:04 bcwik9

Has anyone been able to confirm if the higher res size works on the latest dev builds?

mrlt8 avatar Apr 20 '24 14:04 mrlt8

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.

bcwik9 avatar Apr 20 '24 15:04 bcwik9

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]

dreondre avatar Apr 20 '24 16:04 dreondre

Thanks, I made a few changes to the frame_size. Could someone give it another try?

mrlt8 avatar Apr 21 '24 14:04 mrlt8

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

bcwik9 avatar Apr 21 '24 14:04 bcwik9