Opened 10 years ago
Closed 7 years ago
#4217 closed defect (invalid)
ffmpeg stream is delayed
Reported by: | ill | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | ffserver |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
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
ffserver was removed from git master, closing bug as invalid