[Libav-user] IP cam accessing directly and from dshow speed differences.

Andrey Utkin andrey.krieger.utkin at gmail.com
Sat Jun 15 14:00:59 CEST 2013


2013/6/14 Matthew Einhorn <moiein2000 at gmail.com>:
> Hi,
>
> I have a WANSCAM IP camare (AJ-C2WA-C198) which I'm testing in
> ffplay/ffmpeg. I noticed that playing it through its http address is much
> slower than when playing it with direct show. I'm linking to logs for both
> as run in ffplay.
>
> ffplay displayed the video through direct http access very slow and choppy
> using this command :ffplay -report -loglevel debug -i
> http://user:pwd@IP:99/videostream.asf -an (see
> http://paste.ubuntu.com/5765942/).
>
> To use direct show, I installed a driver from http://alax.info/blog/1223
> which converts a IP cam to direct show and the ffplay speed was faster
> although still choppy, even with a large realy time buffer. The command line
> was "ffplay -loglevel debug -report -f dshow -i "video=wanscam" -an
> -rtbufsize 1000000" (see http://paste.ubuntu.com/5765952/)
>
> Finally, viewing the camera directly from Firefox was much faster than
> either method and it wasn't choppy at all. I am looking for recommendations
> as to what I can do in ffmpeg to speed it up so that it's as fast as
> Firefox. In the end I'd be using the API not ffplay.


I'd consider checking two things:
1. Available bandwidth of your connectivity with camera. If bandwidth
is not sufficient, camera is not able to send full stream and probably
skips some data which it should send.
2. Decoding capability of host CPU. If stream bandwidth is something
like >= 1 MBytes/s, there is a chance your host cannot decode all the
stream in real time, so it drops frames or produces other articacts.

Try just downloading the stream, e.g. with wget, for several minutes,
and playback the recorded file. If all players, not only ffplay, play
it with artifacts, then bandwidth is the root of problem.
If playback of recording with natural speed shows problems, but
playback in slow motion (try sth like slowing down in 10 times to be
sure) goes ok, then decoding capability causes the problem.

Here i consider that camera itself sends HTTP stream. Recently
somebody discussed his issue in this list, and he had RTSP-to-HTTP
tunneling application between camera and ffmpeg, and i believe it
caused the data loss. If you have any middleware like this, check it
thoroughly.

--
Andrey Utkin


More information about the Libav-user mailing list