[FFmpeg-user] Realtime live streaming delay

Roger Pack rogerdpack2 at gmail.com
Mon Aug 4 21:33:28 CEST 2014


https://trac.ffmpeg.org/wiki/StreamingGuide may  help, though I've never
tried doing anything with ffserver...


On Tue, May 13, 2014 at 11:57 AM, Leonid Kuzmin <lndkuzmin at gmail.com> wrote:

> Hi all!
>
> I'm trying to set up realtime streaming from my laptop (cpu: Intel Core
> i3-2350M 2.30GHz) webcam with ffserver, but there is a ~10 sec delay in
> video even on "local" streaming (from localhost to localhost).
> Is it possible to reduce delay somehow? I'm totally new to ffmpeg, so any
> help would be appreciated.
>
> Here is my ffserver config:
> ----------------------
> Port 8090
> BindAddress 0.0.0.0
> MaxBandwidth 999999
>
> <Feed feed1.ffm>
>         File /tmp/feed1.ffm
>         FileMaxSize 200K
>         ACL allow localhost
> </Feed>
>
> <Stream live.flv>
>         Format flv
>         Feed feed1.ffm
>
>         VideoCodec libx264
>         VideoFrameRate 30
>         VideoBitRate 512
>         VideoSize 320x240
>         AVOptionVideo crf 23
>         AVOptionVideo preset ultrafast
>         AVOptionVideo tune zerolatency
>         # for more info on crf/preset options, type: x264 --help
>         AVOptionVideo flags +global_header
>
>         AVOptionVideo me_range 16
>         AVOptionVideo qdiff 4
>         AVOptionVideo qmin 10
>         AVOptionVideo qmax 51
>
>         AudioCodec aac
>         Strict -2
>         AudioBitRate 128
>         AudioChannels 2
>         AudioSampleRate 44100
>         AVOptionAudio flags +global_header
> </Stream>
>
> <Stream stat.html>
>         Format status
>         ACL allow localhost
> </Stream>
> -------------------------
>
> And here is ffmpeg string:
> -------------------
> ffmpeg -f v4l2 -s 320x240 -r 25 -i /dev/video0 -f alsa -ac 2 -i hw:0
> -preset ultrafast -pix_fmt yuv420p -tune zerolatency -threads 4
> http://localhost:8090/feed1.ffm
> -------------------
>
> Its output:
> ------------------------
> ffmpeg version 2.2.2 Copyright (c) 2000-2014 the FFmpeg developers
>   built on May 13 2014 19:05:50 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
>   configuration: --enable-libfaac --enable-libx264 --enable-gpl
> --enable-nonfree --enable-indev=alsa --enable-indev=v4l2
>   libavutil      52. 66.100 / 52. 66.100
>   libavcodec     55. 52.102 / 55. 52.102
>   libavformat    55. 33.100 / 55. 33.100
>   libavdevice    55. 10.100 / 55. 10.100
>   libavfilter     4.  2.100 /  4.  2.100
>   libswscale      2.  5.102 /  2.  5.102
>   libswresample   0. 18.100 /  0. 18.100
>   libpostproc    52.  3.100 / 52.  3.100
> Input #0, video4linux2,v4l2, from '/dev/video0':
>   Duration: N/A, start: 38460.008238, bitrate: 30720 kb/s
>     Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240,
> 30720 kb/s, 25 fps, 25 tbr, 1000k tbn, 1000k tbc
> Guessed Channel Layout for  Input Stream #1.0 : stereo
> Input #1, alsa, from 'hw:0':
>   Duration: N/A, start: 1400003570.738435, bitrate: 1536 kb/s
>     Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
> Codec AVOption preset (Set the encoding preset (cf. x264 --fullhelp))
> specified for output file #0 (http://localhost:8090/feed1.ffm) has not
> been
> used for any stream. The most likely reason is either wrong type (e.g. a
> video option with no video streams) or that it is a private option of some
> encoder which was not actually used for any stream.
> Codec AVOption tune (Tune the encoding params (cf. x264 --fullhelp))
> specified for output file #0 (http://localhost:8090/feed1.ffm) has not
> been
> used for any stream. The most likely reason is either wrong type (e.g. a
> video option with no video streams) or that it is a private option of some
> encoder which was not actually used for any stream.
> [libx264 @ 0x37eecc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
> AVX
> [libx264 @ 0x37eecc0] profile High 4:2:2, level 1.3, 4:2:2 8-bit
> [libx264 @ 0x37eecc0] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec
> - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options:
> cabac=0
> ref=1 deblock=1:0:0 analyse=0x3:0x113 me=dia subme=8 psy=1 psy_rd=1.00:0.00
> mixed_ref=0 me_range=16 chroma_me=0 trellis=0 8x8dct=1 cqm=0 deadzone=21,11
> fast_pskip=1 chroma_qp_offset=-2 threads=4 lookahead_threads=1
> sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
> constrained_intra=0 bframes=0 weightp=2 keyint=12 keyint_min=7 scenecut=0
> intra_refresh=0 rc_lookahead=25 rc=abr mbtree=1 bitrate=512 ratetol=1.0
> qcomp=0.50 qpmin=10 qpmax=51 qpstep=4 vbv_maxrate=1024 vbv_bufsize=1024
> nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
> Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
>   Metadata:
>     creation_time   : now
>     encoder         : Lavf55.33.100
>     Stream #0:0: Audio: aac (libfaac), 44100 Hz, stereo, s16, 128 kb/s
>     Stream #0:1: Video: h264 (libx264), yuv422p, 320x240, q=10-51, 512
> kb/s, 1000k tbn, 25 tbc
> Stream mapping:
>   Stream #1:0 -> #0:0 (pcm_s16le -> libfaac)
>   Stream #0:0 -> #0:1 (rawvideo -> libx264)
> --------------------
>
> Thanks for help.
>
> --
> Best regards,
> Leonid Kuzmin
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>


More information about the ffmpeg-user mailing list