[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