[Bug]: Video alignment/tearing and color issues in Birdseye post 0.14 upgrade #13745
Replies: 3 comments 10 replies
-
Posting the reddit conversation here for reference: https://www.reddit.com/r/frigate_nvr/comments/1f43cmt/birdseye_in_014/ |
Beta Was this translation helpful? Give feedback.
-
This issue has always existed for birdseye restreaming. The reason is because we are encoding the stream from raw yuv in order to reduce CPU usage, but raw yuv does not have frame markers since it is not encoded so this error happens when the process reading the yuv gets out of sync. In most cases this is not a problem because the pipe is cleared when birdseye disconnects, but if you have the stream going continuously it will not be able to recover from this (and in general there is no way for frigate to know it has entered this error state). The main solutions would be to encode the frames before decoding them to re-encode for birdseye restream which has higher CPU usage and is not viable for most users. In your case you may be better off just using the jsmpeg stream via websocket depending on how your live view is displayed. |
Beta Was this translation helpful? Give feedback.
-
In addition to what @NickM-27 said above, it's also worth mentioning that the additional activity that happens in Frigate 0.14 behind the scenes related to previews may be one possible cause why you see this more often, especially since you have so many cameras and are encoding birdseye at higher resolutions. One way to determine if this is related is that if the birdseye restream distortion happens right around the top of the hour. |
Beta Was this translation helpful? Give feedback.
-
Checklist
Describe the problem you are having
I use birdseye heavily. My use case is to have a TV which continuously displays a live feed. I have 33 cameras. It is important for me to only show cameras which have active objects/motion, otherwise the value is lost. I have a simple windows PC that boots up to VLC connected to my birdseye feed.
Every since the upgrade to 0.14 it has become unstable. The video feed often gets garbled, misaligned, and colors corrupted. Is this a known issue? Is there a plan to resolve? The only solution seems to be restart the container.
Recordings are fine. Interesting this is only showing up in 0.14. It was fine in 0.13. My config hasn't changed.
My goal is for the birdseye live view to be 4k, with each camera no less than 1080p (1920x1080). For a few cameras, I have them configured to 4k (3840x2160) in order to be able to decipher license plates. The rest are configured for 1080p. I have birdseye configured to 3840x2160 and detect configured to 1920x1080. The cameras are a mix of 3840x2160 and 1920x1080. My cameras do run at 15 FPS vs my configuration of 5 FPS for detect. I'm using go2rtc for my camera/birdseye streams.
My understanding is that the live view is based on the detect feed, not the record feed. Thus I'm running detect on the main stream instead of a sub-stream. Frigate is running on a beefy server with dual PCIe corals. I've not ran into performance issues with detect running at this resolution.
I should add, everything works fine for the first couple hours after a container restart. Only after some time does it get corrupted. Perhaps this is first motion/object event from one of my 4k cameras? I haven't actually correlated that.
Any suggestions on what I should do to impove this given my goals? All of these are divisible by 4.
Steps to reproduce
Version
0.14.1-f4f3cfa
In which browser(s) are you experiencing the issue with?
All (Chrome, Edge, VLC for RTSP)
Frigate config file
docker-compose file or Docker CLI command
Relevant Frigate log output
Relevant go2rtc log output
Operating system
Other Linux
Install method
Docker Compose
Network connection
Wired
Camera make and model
Amcrest
Screenshots of the Frigate UI's System metrics pages
Any other information that may be helpful
No response
Beta Was this translation helpful? Give feedback.
All reactions