Doing your best to get rid of smudging in FFMPEG transcoding of RTSP streams

From ZoneMinder Wiki
Revision as of 11:31, 24 March 2015 by Asker (talk | contribs)
Jump to navigationJump to search

<Home

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:

Smearing example.jpeg