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 <[email protected]> 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 > [email protected] > http://ffmpeg.org/mailman/listinfo/ffmpeg-user > _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
