Opened 4 years ago

Closed 4 years ago

Last modified 3 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 Changed 4 years ago by barhom

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 4 years ago by barhom (previous) (diff)

comment:2 Changed 4 years ago by michael

  • Keywords ffm added
  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from new to 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 Changed 3 years ago by IceSheep

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