Doing your best to get rid of smudging in FFMPEG transcoding of RTSP streams
From ZoneMinder Wiki
Jump to navigationJump to search
Background
All my cameras are Foscam HD cameras (1280x960) and support RTSP. Further , 4 out of my 5 cameras are connected via WiFi. Zone minder has many options to capture frames, but for Foscam cameras it boils down to:
- Using the Foscam "snapshot2" URL to capture images instead of live streaming
- Using RTSP URL
- Using MJPEG URL (needs a configuration change to Foscam)
I investigated all 3 options.
- In terms of quality, Option 1 (image snapshot) is the best. No artifacts, no smudging nothing. The downside is there are a high amount of connection drops, even if I dropped the HD stream to 720p.
- Foscam seems to only stream MJPEG as 640x480. That was not acceptable (and the quality of the stream seemed to have a lot of artifacting)
- So really, the only option left was RTSP
RTSP via FFMPEG/VLC/Remote
Now that RTSP was the only viable option, there are 3 methods you can use (well, maybe 4, not sure if Curl supports RTSP - never tried)
- You can use source type as FFMPEG, VLC or (a new addition with ZM 1.28) Remote
Source Type: Remote
Based on this issue in github
Smearing
Once I had ZM up and running for a day or two, I started noticing a lot of frame "smearing". This is what I mean by smearing: