[FFmpeg-trac] #4217(ffserver:new): ffmpeg stream is delayed
FFmpeg
trac at avcodec.org
Thu Jan 1 01:54:01 CET 2015
#4217: ffmpeg stream is delayed
-------------------------------------+-------------------------------------
Reporter: illumilore | Type: defect
Status: new | Priority: normal
Component: ffserver | Version:
Keywords: | unspecified
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
When using ffmpeg to ffserver, the stream will gradually over the course
of a day start to become more delayed, up to 5-7 seconds from current
time. When started it doesn't seem to be that far behind.
Summary of the bug:
How to reproduce:
{{{
% ffmpeg -i input ... output
ffmpeg version
built on ...
}}}
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
./ffmpeg -f alsa -itsoffset 0.1 -ar 24000 -i plughw:1 -f video4linux2
-input_format mjpeg -s 960x720 -r 5 -i /dev/video0 -map 0:a -map 1:v
http://127.0.0.1:8090/cam.ffm -f segment -segment_time 3600
-segment_atclocktime 1 -r 5 -s 640x480 -reset_timestamps 1
-segment_list_flags live -vf
"drawtext='fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf:fontcolor=white:fontsize=30:x=1:y=2:shadowx=1:shadowy=1:text=%{localtime\:%Y-%m-%d
%H\\\\\:%M\\\\\:%S}'" -segment_start_number 1023 /media/cam/test_%03d.avi
2>/dev/null
# /etc/ffserver.conf
# Port on which the server is listening. You must select a different
# port from your standard HTTP web server if it is running on the same
# computer.
Port 8090
# Address on which the server is bound. Only useful if you have
# several network interfaces.
BindAddress 0.0.0.0
# Number of simultaneous HTTP connections that can be handled. It has
# to be defined *before* the MaxClients parameter, since it defines the
# MaxClients maximum limit.
MaxHTTPConnections 20
# Number of simultaneous requests that can be handled. Since FFServer
# is very fast, it is more likely that you will want to leave this high
# and use MaxBandwidth, below.
MaxClients 10
# This the maximum amount of kbit/sec that you are prepared to
# consume when streaming to clients.
MaxBandwidth 8000
# Access log file (uses standard Apache log file format)
# '-' is the standard output.
CustomLog -
# Suppress that if you want to launch ffserver as a daemon.
#NoDaemon
<Feed cam.ffm>
File /tmp/cam.ffm #when remarked, no file is beeing created and
the stream keeps working!!
FileMaxSize 400K
# Only allow connections from localhost to the feed.
ACL allow 127.0.0.1
ACL allow 192.168.1.2 192.168.1.49
</Feed>
# SWF output - great for testing
<Stream test.swf>
# the source feed
Feed cam.ffm
# the output stream format - SWF = flash
Format swf
# this must match the ffmpeg -r argument
VideoFrameRate 5
# another quality tweak
VideoBitRate 4000
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 5
VideoQMax 15
VideoSize 960x720
NoAudio
#AudioCodec vorbis
#AudioBitRate 64
#AudioChannels 2
#AudioSampleRate 24000
</Stream>
#<Stream test.sdp>
#Feed cam.ffm
#Format rtp
#VideoCodec libx264
#VideoSize 960x720
#VideoQMin 1
#VideoQMax 20
#NoAudio
#</Stream>
<Stream test.jpg>
Feed cam.ffm
Format jpeg
VideoFrameRate 2
VideoIntraOnly
VideoQmin 1
VideoQMax 5
VideoSize 960x720
NoAudio
Strict -1
</Stream>
<Stream test.mjpg>
Feed cam.ffm
Format mpjpeg
VideoFrameRate 1
VideoIntraOnly
VideoQmin 10
VideoQMax 20
VideoSize 480x320
NoAudio
Strict -1
</Stream>
$ ffmpeg --version
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
built on Nov 14 2014 12:17:00 with gcc 4.8 (SUSE Linux)
configuration: --shlibdir=/usr/lib64 --prefix=/usr
--mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-
static --enable-debug --disable-stripping --extra-cflags='-fmessage-
length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-
protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC
-I/usr/include/gsm' --enable-gpl --enable-x11grab --enable-version3
--enable-pthreads --enable-avfilter --enable-libpulse --enable-libvpx
--enable-libopus --enable-libass --enable-libx265 --enable-libmp3lame
--enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid
--enable-libx264 --enable-libschroedinger --enable-libgsm --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-
libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample
--enable-libtwolame --enable-libvo-aacenc --enable-gnutls
libavutil 52. 92.100 / 52. 92.100
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.100 / 55. 48.100
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.100 / 4. 11.100
libavresample 1. 3. 0 / 1. 3. 0
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4217>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list