[FFserver-user] Can't make ffserver work!

Thomas Seilund tps at netmaster.dk
Thu Mar 29 13:03:49 CEST 2012


On 27-03-2012 12:59, tps wrote:
> Dear All,
> I can't make ffserver work.
> Any help would be appreciated!
> Here is what I have done!
> 1. My pc is a Ubuntu 11.04
> 2. Download lastest ffmpeg as of 27. Mar. 2012.
> 3. ./configure and make
> 4. Start ffserver in a terminal with default ffserver.conf
> tps at T420:~/data/ffmpeg$ ./ffserver -loglevel debug -f doc/ffserver.conf
> ffserver version N-39323-gab31db0 Copyright (c) 2000-2012 the FFmpeg 
> developers
>  built on Mar 27 2012 11:37:23 with gcc 4.6.1
>  configuration:
>  libavutil      51. 44.100 / 51. 44.100
>  libavcodec     54. 12.100 / 54. 12.100
>  libavformat    54.  3.100 / 54.  3.100
>  libavdevice    53.  4.100 / 53.  4.100
>  libavfilter     2. 66.100 /  2. 66.100
>  libswscale      2.  1.100 /  2.  1.100
>  libswresample   0. 10.100 /  0. 10.100
> Tue Mar 27 12:19:45 2012 [ffm @ 0x2b35160]Format ffm probed with 
> size=2048 and score=101
> Tue Mar 27 12:19:45 2012 FFserver started.
> 5. In another terminal I call ffmpeg with dv camera attached and 
> ffmpeg starts to send data to ffserver.
> tps at T420:~/data/record$ dvgrab -format dv1 - | ../ffmpeg/ffmpeg -f dv 
> -i - http://localhost:8090/feed1.ffmffmpeg version N-39323-gab31db0 
> Copyright (c) 2000-2012 the FFmpeg developers
>  built on Mar 27 2012 11:37:23 with gcc 4.6.1
>  configuration:
>  libavutil      51. 44.100 / 51. 44.100
>  libavcodec     54. 12.100 / 54. 12.100
>  libavformat    54.  3.100 / 54.  3.100
>  libavdevice    53.  4.100 / 53.  4.100
>  libavfilter     2. 66.100 /  2. 66.100
>  libswscale      2.  1.100 /  2.  1.100
>  libswresample   0. 10.100 /  0. 10.100
> Found AV/C device with GUID 0x0080880309603c32
> libiec61883 error: Failed to get channels available.
> Waiting for DV...
> [dv @ 0x16bb3e0] Estimating duration from bitrate, this may be inaccurate
> Input #0, dv, from 'pipe:':
>  Duration: N/A, start: 0.000000, bitrate: 28800 kb/s
>    Stream #0:0: Video: dvvideo, yuv420p, 720x576, 28800 kb/s, SAR 
> 64:45 DAR 16:9, 25 tbr, 25 tbn, 25 tbc
>    Stream #0:1: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
>    Stream #0:2: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
> Capture Started
> [buffer @ 0x16d09a0] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 
> sws_param:
> [scale @ 0x16d11a0] w:720 h:576 fmt:yuv420p sar:64/45 -> w:160 h:128 
> fmt:yuv420p sar:64/45 flags:0x4
> [buffer @ 0x16fcea0] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 
> sws_param:
> [scale @ 0x1760280] w:720 h:576 fmt:yuv420p sar:64/45 -> w:352 h:240 
> fmt:yuv420p sar:40/33 flags:0x4
> Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
>  Metadata:
>    encoder         : Lavf54.3.100
>    Stream #0:0: Audio: mp2, 44100 Hz, 1 channels, s16, 32 kb/s
>    Stream #0:1: Video: mpeg1video, yuv420p, 160x128 [SAR 64:45 DAR 
> 16:9], q=2-31, 64 kb/s, 1000k tbn, 25 tbc
>    Stream #0:2: Audio: wmav2, 22050 Hz, 1 channels, s16, 63 kb/s
>    Stream #0:3: Video: msmpeg4, yuv420p, 352x240 [SAR 40:33 DAR 16:9], 
> q=2-31, 256 kb/s, 1000k tbn, 25 tbc
> Stream mapping:
>  Stream #0:1 -> #0:0 (pcm_s16le -> mp2)
>  Stream #0:0 -> #0:1 (dvvideo -> mpeg1video)
>  Stream #0:1 -> #0:2 (pcm_s16le -> wmav2)
>  Stream #0:0 -> #0:3 (dvvideo -> msmpeg4)
> 6. I check ffserver status from http://localhost:8090/stat.html and I 
> get:
> ffserver Status
> Available Streams
> Path    Served
> Conns
> bytes    Format    Bit rate
> kbits/s    Video
> kbits/s
> Codec    Audio
> kbits/s
> Codec    Feed
> test1.mpg     0     0     mpeg     96     64     mpeg1video     32     
> mp2     feed1.ffm
> test.asf     0     0     asf_stream     320     256     msmpeg4     
> 63     wmav2     feed1.ffm
> stat.html     1     0     -     -     -         -
> index.html     0     0     -     -     -         -
> Feed feed1.ffm
> Stream    type    kbits/s    codec    Parameters
> 0    audio    32    mp2    1 channel(s), 44100 Hz
> 1    video    64    mpeg1video    160x128, q=2-31, fps=25
> 2    audio    63    wmav2    1 channel(s), 22050 Hz
> 3    video    256    msmpeg4    352x240, q=2-31, fps=25
> Connection Status
> Number of connections: 2 / 1000
> Bandwidth in use: 0k / 1000k
> #    File    IP    Proto    State    Target bits/sec    Actual 
> bits/sec    Bytes transferred
> 1    stat.html    127.0.0.1    HTTP/1.1    HTTP_WAIT_REQUEST    0     
> 0     0
> 2    feed1.ffm(input)    127.0.0.1    HTTP/1.1    RECEIVE_DATA    
> 128k    396k    6623k
> Generated at Tue Mar 27 12:25:19 2012
> 7. From a third terminal I call ffplay and I DO GET VIDEO!
> tps at T420:~/data/ffmpeg$ ./ffplay -loglevel debug 
> http://localhost:8090/test1.mpg
> ffplay version N-39323-gab31db0 Copyright (c) 2003-2012 the FFmpeg 
> developers
>  built on Mar 27 2012 11:37:23 with gcc 4.6.1
>  configuration:
>  libavutil      51. 44.100 / 51. 44.100
>  libavcodec     54. 12.100 / 54. 12.100
>  libavformat    54.  3.100 / 54.  3.100
>  libavdevice    53.  4.100 / 53.  4.100
>  libavfilter     2. 66.100 /  2. 66.100
>  libswscale      2.  1.100 /  2.  1.100
>  libswresample   0. 10.100 /  0. 10.100
> [mpeg @ 0x2d78a00] Format mpeg probed with size=16384 and score=52
> [mpeg @ 0x2d78a00] probing stream 1 pp:2500
> [mpeg @ 0x2d78a00] Probe with size=2032, packets=1 detected mpegvideo 
> with score=51
> [mpeg @ 0x2d78a00] probed stream 1
> [mpeg2video @ 0x2d982a0] mpeg_decode_postinit() failure
>    Last message repeated 5 times
> [mpeg @ 0x2d78a00] max_analyze_duration 5000000 reached at 5015467
> [mpeg @ 0x2d78a00] Estimating duration from bitrate, this may be 
> inaccurate
> Input #0, mpeg, from 'http://localhost:8090/test1.mpg':
>  Duration: N/A, start: 194.608933, bitrate: 160 kb/s
>    Stream #0:0[0x1c0], 194, 1/90000: Audio: mp2, 44100 Hz, 1 channels, 
> s16, 32 kb/s
>    Stream #0:1[0x1e0], 131, 1/90000: Video: mpeg1video, yuv420p, 
> 160x128 [SAR 64:45 DAR 16:9], 1/25, 128 kb/s, 25.80 fps, 25 tbr, 90k 
> tbn, 25 tbc
> [mpeg1video @ 0x2d982a0] detected 4 logical cores
> 243.91 A-V: -0.012 fd=   1 aq=    2KB vq=    1KB sq=    0B f=1/1   f=0/0
> tps at T420:~/data/ffmpeg$
> 8. I repeat ffplay but this time I DO NOT GET VIDEO!
> tps at T420:~/data/ffmpeg$ ./ffplay -loglevel debug 
> http://localhost:8090/test1.mpg
> ffplay version N-39323-gab31db0 Copyright (c) 2003-2012 the FFmpeg 
> developers
>  built on Mar 27 2012 11:37:23 with gcc 4.6.1
>  configuration:
>  libavutil      51. 44.100 / 51. 44.100
>  libavcodec     54. 12.100 / 54. 12.100
>  libavformat    54.  3.100 / 54.  3.100
>  libavdevice    53.  4.100 / 53.  4.100
>  libavfilter     2. 66.100 /  2. 66.100
>  libswscale      2.  1.100 /  2.  1.100
>  libswresample   0. 10.100 /  0. 10.100
> 9. During these steps here is what I get in the ffserver terminal:
> tps at T420:~/data/ffmpeg$ ./ffserver -loglevel debug -f doc/ffserver.conf
> ffserver version N-39323-gab31db0 Copyright (c) 2000-2012 the FFmpeg 
> developers
>  built on Mar 27 2012 11:37:23 with gcc 4.6.1
>  configuration:
>  libavutil      51. 44.100 / 51. 44.100
>  libavcodec     54. 12.100 / 54. 12.100
>  libavformat    54.  3.100 / 54.  3.100
>  libavdevice    53.  4.100 / 53.  4.100
>  libavfilter     2. 66.100 /  2. 66.100
>  libswscale      2.  1.100 /  2.  1.100
>  libswresample   0. 10.100 /  0. 10.100
> Tue Mar 27 12:19:45 2012 [ffm @ 0x2b35160]Format ffm probed with 
> size=2048 and score=101
> Tue Mar 27 12:19:45 2012 FFserver started.
> Tue Mar 27 12:21:14 2012 [ffm @ 0x2b3b980]Format ffm probed with 
> size=2048 and score=101
> Tue Mar 27 12:21:14 2012 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 
> 4175
> Tue Mar 27 12:22:04 2012 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 
> 200 2936832
> Tue Mar 27 12:23:08 2012 [ffm @ 0x2b3b040]Format ffm probed with 
> size=2048 and score=101
> Tue Mar 27 12:23:08 2012 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 
> 4175
> Tue Mar 27 12:25:19 2012 127.0.0.1 - - [GET] "/stat.html HTTP/1.1" 200 
> 2240
> Tue Mar 27 12:26:22 2012 [ffm @ 0x2b3d9e0]Format ffm probed with 
> size=2048 and score=101
> Tue Mar 27 12:27:18 2012 127.0.0.1 - - [GET] "/test1.mpg HTTP/1.1" 200 
> 649279
> Tue Mar 27 12:29:35 2012 [ffm @ 0x2b452c0]Format ffm probed with 
> size=2048 and score=101
> 10. Here is what I have in ffserver status:
> ffserver Status
> Available Streams
> Path    Served
> Conns
> bytes    Format    Bit rate
> kbits/s    Video
> kbits/s
> Codec    Audio
> kbits/s
> Codec    Feed
> test1.mpg     2     649k    mpeg     96     64     mpeg1video     
> 32     mp2     feed1.ffm
> test.asf     0     0     asf_stream     320     256     msmpeg4     
> 63     wmav2     feed1.ffm
> stat.html     6     11736     -     -     -         -
> index.html     0     0     -     -     -         -
> Feed feed1.ffm
> Stream    type    kbits/s    codec    Parameters
> 0    audio    32    mp2    1 channel(s), 44100 Hz
> 1    video    64    mpeg1video    160x128, q=2-31, fps=25
> 2    audio    63    wmav2    1 channel(s), 22050 Hz
> 3    video    256    msmpeg4    352x240, q=2-31, fps=25
> Connection Status
> Number of connections: 3 / 1000
> Bandwidth in use: 96k / 1000k
> #    File    IP    Proto    State    Target bits/sec    Actual 
> bits/sec    Bytes transferred
> 1    stat.html    127.0.0.1    HTTP/1.1    HTTP_WAIT_REQUEST    0     
> 0     0
> 2    test1.mpg    127.0.0.1    HTTP/1.1    WAIT_FEED    96000     
> 0     63
> 3    feed1.ffm(input)    127.0.0.1    HTTP/1.1    RECEIVE_DATA    
> 128k    384k    32583k
> Generated at Tue Mar 27 12:34:22 2012
> 11. If I probe the feed1.ffm file I get this:
> tps at T420:~/data/ffmpeg$ ./ffprobe /tmp/feed1.ffm
> ffprobe version N-39323-gab31db0 Copyright (c) 2007-2012 the FFmpeg 
> developers
>  built on Mar 27 2012 11:37:23 with gcc 4.6.1
>  configuration:
>  libavutil      51. 44.100 / 51. 44.100
>  libavcodec     54. 12.100 / 54. 12.100
>  libavformat    54.  3.100 / 54.  3.100
>  libavdevice    53.  4.100 / 53.  4.100
>  libavfilter     2. 66.100 /  2. 66.100
>  libswscale      2.  1.100 /  2.  1.100
>  libswresample   0. 10.100 /  0. 10.100
> [mpeg1video @ 0x199af80] mpeg_decode_postinit() failure
>    Last message repeated 5 times
> [ffm @ 0x19934e0] Estimating duration from bitrate, this may be 
> inaccurate
> Input #0, ffm, from '/tmp/feed1.ffm':
>  Duration: 00:00:03.45, start: 40.035057, bitrate: 473 kb/s
>    Stream #0:0: Audio: mp2, 44100 Hz, 1 channels, s16, 32 kb/s
>    Stream #0:1: Video: mpeg1video, yuv420p, 160x128 [SAR 64:45 DAR 
> 16:9], 128 kb/s, 25 fps, 25 tbr, 1000k tbn, 25 tbc
>    Stream #0:2: Audio: wmav2, 22050 Hz, 1 channels, s16, 64 kb/s
>    Stream #0:3: Video: msmpeg4, yuv420p, 352x240, 256 kb/s, 25 fps, 15 
> tbr, 1000k tbn, 15 tbc
> 12. I try to close all programs, ffplay, ffmpeg and ffserver and start 
> all over again but this time I don't even get video the first time!
>
>
> Thanks
> Thomas S
> _______________________________________________
> ffserver-user mailing list
> ffserver-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffserver-user
Hi All,

I managed to play stream http://localhost:8090/test1.mpg using ffplay.

BUT it only works if I start ffplay before file /tmp/feed1.ffm fills up. 
If I try to start ffplay after /tmp/feed1.ffm has reached its size limit 
then ffmeg will not start playing the stream. I change the max size of 
the file in ffserver.conf, FileMaxSize 200k is changed to FileMaxSize 
200M. That gives me plenty of time to start ffserver many times. But as 
soon as the file /tmp/feed1.ffm reaches 200M then ffplay will no longer 
start playing the stream. If ffplay is playing while max file size is 
reached then ffplay keeps playing!

When I try to play the other stream, http://localhost:8090/test.asf I 
get an error from ffplay "http://localhost:8090/test.asf: Invalid data 
found when processing input"

Any help would be appreciated.

Thanks

Thomas S




More information about the ffserver-user mailing list