#1249 closed defect (fixed)
FFServer HTTP/1.1 WAIT_FEED bug
Reported by: | barhom | Owned by: | |
---|---|---|---|
Priority: | critical | Component: | ffserver |
Version: | unspecified | Keywords: | ffserver WAIT_FEED ffm |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Fully reproducible bug that only happens once "FileMaxSize" is reached.
Below are ffserver configuration for a feed+stream.
FFmpeg is started like this;
ffmpeg -i INPUTMPEGTS http://localhost:8090/feed0.ffm
This creates a stream that ffmpeg transcodes into h264+aac in a flv container and publishes it as http://localhost:8090/feed0.ffm
The stream is then viewable/downloadable at http://localhost:8090/feed0.flv
Everything is working as expected and FFserver stats page shows that is is receiving data.
However, once FileMaxSize is reached new clients that connect has about random chance of around 20-40% of getting the data, the other times the stream connects however with no data being received at the client (wget/vlc).
When no data is being received the stats page in ffserver shows; HTTP/1.1 WAIT_FEED for the client.
Changing FileMaxSize to 100G would make the stream work for every client up until the file is 100G, then the same problems occurs.
<Feed feed0.ffm>
File /tmp/feed0.file
FileMaxSize 5M
</Feed>
<Stream feed0.flv>
Format flv
Feed feed0.ffm
AVOptionVideo flags +global_header
VideoCodec libx264
VideoBitRate 900
VideoFrameRate 25
VideoSize 720x576
AVOptionVideo coder 1
AVOptionVideo flags +loop
AVOptionVideo cmp +chroma
AVOptionVideo partitions +parti8x8+parti4x4-partp8x8-partb8x8
AVOptionVideo me_method dia
AVOptionVideo subq 1
AVOptionVideo me_range 16
AVOptionVideo g 250
AVOptionVideo keyint_min 25
AVOptionVideo sc_threshold 40
AVOptionVideo i_qfactor 0.71
AVOptionVideo b_strategy 1
AVOptionVideo qcomp 0.7
AVOptionVideo qmin 10
AVOptionVideo qmax 51
AVOptionVideo qdiff 4
AVOptionVideo bf 3
AVOptionVideo refs 1
AVOptionVideo directpred 1
AVOptionVideo trellis 0
#AVOptionVideo flags2 +bpyramid-mixed_refs+wpred+dct8x8+fastpskip-mbtree
AVOptionVideo wpredp 0
AVOptionVideo rc_lookahead 0
AVOptionVideo deblockalpha 2
AVOptionVideo deblockbeta 2
AVOptionVideo threads 4
#AVOptionVideo maxrate 2500
AudioCodec libfaac
AudioBitRate 96
AudioChannels 2
AudioSampleRate 48000
AVOptionAudio flags +global_header
</Stream>
Change History (3)
comment:2 by , 13 years ago
Keywords: | ffm added |
---|---|
Reproduced by developer: | set |
Resolution: | → fixed |
Status: | new → closed |
Should be fixed, if there are cases left where it still fails, please reopen or open a new ticket if they are seperate issues.
comment:3 by , 12 years ago
I am still having this issue. It should be fixed in v. 1.2, right? I have installed ffserver via Homebrew.
Thanks!
ffserver version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Mar 23 2013 20:03:54 with Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
This is my configuration:
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 8000
CustomLog -
NoDaemon
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
</Feed>
<Stream live.ts>
Format mpegts
Feed feed1.ffm
VideoCodec libx264
VideoFrameRate 25
VideoBitRate 1536
VideoSize 1280x720
AVOptionVideo crf 23
AVOptionVideo preset ultrafast
AVOptionVideo flags +global_header
AudioCodec aac
Strict -2
AudioBitRate 192
AudioChannels 2
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>
Simulate client with wget;
:~# wget http://localhost:8090/feed0.flv
--2012-04-24 19:58:14-- http://localhost:8090/feed0.flv
Connecting to localhost:8090... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [video/x-flv]
Saving to: `feed0.flv.3'