[FFmpeg-user] How do I make ffplay play without high latency?

Jesse Gordon tojesseg at gmail.com
Thu Nov 22 19:10:57 CET 2012


Good Day,

I have an internet-controllable robot (See photo) and I have a little 
Cisco MP4 streaming video network camera on it, and I'm trying to use 
ffplay to play the live video stream.

The camera encodes the video to either mjpeg or mpeg4 with extremely low 
latency.

I'm using the mpeg4 mode because it requires far less bandwidth.

The problem I'm having is that ffplay seems to introduce a second or two 
of latency -- which is a big deal when you're driving the robot via the 
video feed, and you can' t see where you're going until after it's too late.

With mplayer I was using the -benchmark option which makes it play as 
fast as possible, but even that has just under a second of latency.

I know that the video camera is getting the data out the network port 
quickly because when I use the windows web client, it has a plugin that 
streams/plays the mpeg4 and it has very low latency -- so I know the 
camera is not the source of the latency.
(But of course I use Linux.)

Is there a way to make ffmpeg play each frame as soon as it can with 
reduced buffers or whatever so I can get the picture to the screen as 
soon as possible? I don't care too much about jitter or stuttering - I 
just need the video on the screen as soon as possible.

Thank you very much,

~Jesse

NOTE: Below, the "warning: first frame is no keyframe" line happened 
when I clicked in ffplay to fast forward to the end, to try to get 
latency to reduce.  But the video was playing just fine after I clicked 
to fast forward.



bash-4.1# ffplay http://admin:admin@192.168.0.65/img/video.asf
ffplay version N-46939-g030db0c Copyright (c) 2003-2012 the FFmpeg 
developers
   built on Nov 21 2012 00:52:42 with gcc 4.5.2 (GCC)
   configuration: --prefix=/usr
   libavutil      52.  8.100 / 52.  8.100
   libavcodec     54. 74.100 / 54. 74.100
   libavformat    54. 37.100 / 54. 37.100
   libavdevice    54.  3.100 / 54.  3.100
   libavfilter     3. 23.101 /  3. 23.101
   libswscale      2.  1.102 /  2.  1.102
   libswresample   0. 17.101 /  0. 17.101
[asf @ 0x8f2b1a0] Estimating duration from bitrate, this may be inaccurate
Input #0, asf, from 'http://admin:admin@192.168.0.65/img/video.asf':
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #0:0: Video: mpeg4 (MP4S / 0x5334504D), yuv420p, 640x480, 
14.99 tbr, 1k tbn, 1k tbc
Frame changed from size:0x0 to size:640x480   4KB sq=    0B f=0/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 972, new 874=0/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 972, new 829=0/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 971, new 823=0/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 975, new 11230/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 974, new 14450/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 974, new 753=0/0
[mpeg4 @ 0x8f40920] warning: first frame is no keyframe 0KB sq= 0B f=0/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 973, new 790=0/0 B f=0/0
[asf @ 0x8f2b1a0] freeing incomplete packet size 975, new 784=0/0
   61.58 A-V:  0.000 fd= 517 aq=    0KB vq=    0KB sq=    0B f=0/0
bash-4.1#

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Robot-P1040177-small.JPG
Type: image/jpeg
Size: 51134 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20121122/70fff40a/attachment.jpe>


More information about the ffmpeg-user mailing list