QuantumEntangledAndy / neolink

An RTSP bridge to Reolink IP cameras
GNU Affero General Public License v3.0
297 stars 44 forks source link

Stream not ready - Reolink Lumus #88

Closed gogreenpower closed 1 year ago

gogreenpower commented 1 year ago

Describe the bug Load stream into VLC and I get static and error message "Stream not Ready"

To Reproduce Steps to reproduce the behavior. Example:

  1. Create this configuration file: Docker Compose:

version: "3.4" services: neolink: image: quantumentangledandy/neolink:latest container_name: neolink environment:

neolink.toml:

bind = "0.0.0.0"

[[cameras]] name = "patio" username = "" password = "" address = "192.168.1.35:9000" stream = "both"

  1. Launch Neolink:

Docker log:

[2023-05-21T09:18:18Z INFO neolink] Neolink 384a0271bdbcf3227d4160859c052e8c1cb9d1f8 release [2023-05-21T09:18:18Z INFO neolink::rtsp] Starting RTSP Server at 0.0.0.0:8554 [2023-05-21T09:18:18Z INFO neolink_core::bc_protocol] patio: Trying TCP discovery [2023-05-21T09:18:18Z INFO neolink_core::bc_protocol] patio: TCP Discovery success at 192.168.1.35:9000

  1. open network stream in VLC - "rtsp://192.168.1.4:8554/patio"

Expected behavior A view of the camera stream

Versions NVR software: Blue Iris 5.7.6.8 x64, VLC 3.0.18 Neolink software: quantumentangledandy/neolink:latest Reolink camera model and firmware: Reolink Lumus running v2.0.0.687_20102800

Other:

It works when running 3340's docker image but my log is full of Deserialization errors

edit: code tag drama

QuantumEntangledAndy commented 1 year ago

Not an error. This screen is shown before the buffer is ready. We need to collect some frames from the camera to determine what the format is and also to buffer the usual network issues.

Wait until the log reports buffer ready

QuantumEntangledAndy commented 1 year ago

Can you try with the config

stream = "subStream"

That will make it pull only the low res stream which should prepare the buffers faster.

QuantumEntangledAndy commented 1 year ago

If that works try with stream = "mainStream"

If that fails then I recommend you reduce the max bitrare first using the official app.

The official app dynamically adjust the bitrate to match the network load and keep the fps up but I havent REd how they do that yet.

gogreenpower commented 1 year ago

Ok, with mainStream and bitrate set to 1024 I get the image.

New issue, if you imagine the screen split into 4 sections, I only get the top left quadrant?

QuantumEntangledAndy commented 1 year ago

No idea about the quadrant thing. Never had that before. Is it client dependant? Can you try with vlc, ffplay etc?

gogreenpower commented 1 year ago

I just deleted the camera, rebooted both systems and added camera again. And all is well. Thanks for the help, I'll close this now.