Opened 10 years ago

Closed 10 years ago

Last modified 9 years ago

#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:1 by barhom, 10 years ago

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'

[ <=> ] 2,576 --.-K/s

Last edited 10 years ago by barhom (previous) (diff)

comment:2 by Michael Niedermayer, 10 years ago

Keywords: ffm added
Reproduced by developer: set
Resolution: fixed
Status: newclosed

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 IceSheep, 9 years ago

Last edited 9 years ago by IceSheep (previous) (diff)
Note: See TracTickets for help on using tickets.