Closed MicheleCardamone closed 1 year ago
I don't think this is a bug. As long as everything works I think this is because of how the gstramer pipeline is tested.
In gatreamer there is no good way to test if a client is connected to a media expect by sending data to the media and seeing if it fails. If client is gone then the media send fails and this log message occurs. When this happens we clean up the media and remove it. No error has actually occurred and this is normal operation.
I don't think this is a bug. As long as everything works I think this is because of how the gstramer pipeline is tested.
In gatreamer there is no good way to test if a client is connected to a media expect by sending data to the media and seeing if it fails. If client is gone then the media send fails and this log message occurs. When this happens we clean up the media and remove it. No error has actually occurred and this is normal operation.
When neolink is running everything works fine, but I have noticed that if I close and re-open neolink blueiris fails to open streams, and I have to stop and start neolink several times to get it working properly.
I have the same problem, motion fails to open streams (503 - time out). I did some tests and I saw that the problem arises from version 0.5.9. 0.5.8 works fine.
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Building H264 Pipeline
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Building Aac pipeline
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Preprocessed
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Buffer filled
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.518s
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 931.604408s
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Send seek H264: 0
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] - Sent seek H264: true
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Got Seek Request: 0ns
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.518s
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 931.764375s
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Linking encoder to decoder: Some(Caps(audio/x-raw(memory:SystemMemory) { format: (gchararray) "S16LE", layout: (gchararray) "interleaved", rate: (gint) 16000, channels: (gint) 2, channel-mask: (GstBitmask) 0x0000000000000003 }))
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Building H264 Pipeline
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Building Aac pipeline
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Preprocessed
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Buffer filled
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.598s
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 950.360408s
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Send seek H264: 0
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] - Sent seek H264: true
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Got Seek Request: 0ns
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.553535s
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 950.404836s
[2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Linking encoder to decoder: Some(Caps(audio/x-raw(memory:SystemMemory) { format: (gchararray) "S16LE", layout: (gchararray) "interleaved", rate: (gint) 16000, channels: (gint) 2, channel-mask: (GstBitmask) 0x0000000000000003 }))
[2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::sender] Could not update client: Vid src is closed
(neolink:3423): GStreamer-WARNING **: 16:35:00.676: free_priv_data: object finalizing but still has 1 parents (object:0x7f835412d360)
[2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::sender] Failed to send buffer list: Could not push buffer to appsrc
[2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::sender] Could not update client: Could not push buffer to appsrc
(neolink:3423): GStreamer-CRITICAL **: 16:35:00.677: gst_mini_object_unref: assertion 'mini_object != NULL' failed
[2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::factory] Building H264 Pipeline
[2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::factory] Building Aac pipeline
[2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::factory] Send seek H264: 0
It seems that "Vid src" is closed. Could it be an asynchronicity issue, since it seems to have been introduced since 0.5.9?
It seems that "Vid src" is closed. Could it be an asynchronicity issue, since it seems to have been introduced since 0.5.9?
I have the same problem, motion fails to open streams (503 - time out). I did some tests and I saw that the problem arises from version 0.5.9. 0.5.8 works fine.
[2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Building H264 Pipeline [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Building Aac pipeline [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Preprocessed [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Buffer filled [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.518s [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 931.604408s [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Send seek H264: 0 [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] - Sent seek H264: true [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Got Seek Request: 0ns [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.518s [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 931.764375s [2023-07-08T14:34:38Z DEBUG neolink::rtsp::gst::factory] Linking encoder to decoder: Some(Caps(audio/x-raw(memory:SystemMemory) { format: (gchararray) "S16LE", layout: (gchararray) "interleaved", rate: (gint) 16000, channels: (gint) 2, channel-mask: (GstBitmask) 0x0000000000000003 })) [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Building H264 Pipeline [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Building Aac pipeline [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Preprocessed [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Buffer filled [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.598s [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 950.360408s [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Send seek H264: 0 [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] - Sent seek H264: true [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Got Seek Request: 0ns [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Minimum Latency: 3.553535s [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::sender] Jumped to live: New start time: 950.404836s [2023-07-08T14:34:40Z DEBUG neolink::rtsp::gst::factory] Linking encoder to decoder: Some(Caps(audio/x-raw(memory:SystemMemory) { format: (gchararray) "S16LE", layout: (gchararray) "interleaved", rate: (gint) 16000, channels: (gint) 2, channel-mask: (GstBitmask) 0x0000000000000003 })) [2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::sender] Could not update client: Vid src is closed (neolink:3423): GStreamer-WARNING **: 16:35:00.676: free_priv_data: object finalizing but still has 1 parents (object:0x7f835412d360) [2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::sender] Failed to send buffer list: Could not push buffer to appsrc [2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::sender] Could not update client: Could not push buffer to appsrc (neolink:3423): GStreamer-CRITICAL **: 16:35:00.677: gst_mini_object_unref: assertion 'mini_object != NULL' failed [2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::factory] Building H264 Pipeline [2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::factory] Building Aac pipeline [2023-07-08T14:35:00Z DEBUG neolink::rtsp::gst::factory] Send seek H264: 0
I got the same result with 0.5.8, but with this older version after a few hours of correct functioning on the mainstream I get an interference (intermittent gray screen). With version 0.5.11 the gstreamer error mentioned above appears but this does not prevent correct functioning, on the contrary by starting neolink the streams of all 9 cams do not seem available, if instead I disable 4 of them from blueiris and reactivate them later 30 seconds the problem is solved. With the latest version 0.5.13 this problem doesn't arise, but the streams are very unstable and constantly lose connection. For now the perfect balance for me looks like 0.5.11. I am attaching my .toml file neolink conf.txt
I cannot get this to replicate on my macos. But I can get it to replicate on linux using docker. Are you all using docker by any chance?
No, i use debian (5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux) without docker.
The docker image is based on debian so perhaps theres something there. I'll try a few things but there is not much to go on here
Seems to be getting issues in the audio decoder not liking the data from the camera (the format is a bit flakey from the camera).
Also I was checking differences between my macos and the docker and noticed that the docker was using avdec (ffmpeg) to decode the AAC audio while my mac was not (I use auto decoder tools which is meant to select the best decoder for the job).
To test if it was the avdev I uninstalled it from a test docker image
apt remove gstreamer1.0-libav
Then tried again. I no longer have any issues
@0ry0n since you are running on metal this should be easier that the docker could you uninstall gstreamer1.0-libav and try again
I checked and i don't actually have that library installed... i tried to install it too but nothing changes
If you say that the problem is related to the audio, i will try to test it
I'll keep looking then. It's one of these errors that is intermittent making it hard to reliably isolate
Yes I know, thanks for the effort... I too will try to try to understand the problem
I cannot get this to replicate on my macos. But I can get it to replicate on linux using docker. Are you all using docker by any chance?
No, i'm using windows 10.
@0ry0n Could you test out this build it seems to be working for me on my mac, debian and in the docker image. But since it is intermittent I might just be getting (un)lucky
Yes, it seems resolved. 💪
Changes are merged in master, should be going out in 0.5.14 build
Closed with 0.5.14 release, if you still have issues please let me know
BUG: Hi all, neolink has this error after opening stream in blueiris: GStreamer-CRITICAL **: 20:58:29.351: gst_mini_object_unref: assertion 'mini_object != NULL' failed Everything works fine but I don't understand what it refers to. Thank you!