[FFmpeg-trac] #3372(ffserver:new): Streaming in webm format gets stuck in the WAIT_FEED state
FFmpeg
trac at avcodec.org
Mon Feb 3 23:55:52 CET 2014
#3372: Streaming in webm format gets stuck in the WAIT_FEED state
-------------------------------------+-------------------------------------
Reporter: alexpirine | Type: defect
Status: new | Priority: normal
Component: ffserver | Version:
Keywords: | unspecified
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Summary of the bug:
How to reproduce:
{{{
$ cat ffserver.conf
Port 8090
BindAddress 0.0.0.0
MaxClients 4
MaxBandwidth 50000
NoDaemon
<Feed webcam.ffm>
File /tmp/webcam.ffm
FileMaxSize 5M
</Feed>
#<Stream webcam.mjpeg>
# Feed webcam.ffm
# Format mjpeg
# VideoSize 640x480
# VideoFrameRate 25
# VideoBitRate 500
# VideoIntraOnly
# Noaudio
# Strict -1
#</Stream>
<Stream webcam.webm>
Feed webcam.ffm
Format webm
VideoCodec libvpx
VideoSize 640x480
VideoFrameRate 25
VideoBitRate 512
VideoIntraOnly
AVOptionVideo flags +global_header
AVOptionAudio flags +global_header
AVOptionVideo cpu-used 5
PreRoll 15
StartSendOnKey
Noaudio
Strict -1
</Stream>
<Stream status.html> # Server status URL
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
$ ffserver -v verbose -f ~/ffserver.conf
avserver version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2000-2013
the Libav developers
built on Nov 9 2013 19:09:48 with gcc 4.7.3
configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect
--extra-version='6:0.8.9-0ubuntu0.13.04.1' --libdir=/usr/lib/x86_64-linux-
gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype
--enable-gnutls --enable-libgsm --enable-libpulse --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau
--enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-
postproc --enable-swscale --enable-libcdio --enable-x11grab
--shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
libavutil 51. 22. 1 / 51. 22. 1
libavcodec 53. 35. 0 / 53. 35. 0
libavformat 53. 21. 1 / 53. 21. 1
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 15. 0 / 2. 15. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 52. 0. 0 / 52. 0. 0
$ avconv -f video4linux2 -i /dev/video0 -vcodec libvpx -b 512k -deadline
realtime -flags +global_header -cpu-used 6
http://192.168.1.2:8090/webcam.ffm
avconv version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2000-2013 the
Libav developers
built on Nov 9 2013 19:09:48 with gcc 4.7.3
[video4linux2 @ 0x24c5a00] Estimating duration from bitrate, this may be
inaccurate
Input #0, video4linux2, from '/dev/video0':
Duration: N/A, start: 7513392.829316, bitrate: 147456 kb/s
Stream #0.0: Video: rawvideo, yuyv422, 640x480, 147456 kb/s, 30 tbr,
1000k tbn, 30 tbc
Incompatible pixel format 'yuyv422' for codec 'libvpx', auto-selecting
format 'yuv420p'
[buffer @ 0x24c7780] w:640 h:480 pixfmt:yuyv422
[avsink @ 0x24c80a0] auto-inserting filter 'auto-inserted scaler 0'
between the filter 'src' and the filter 'out'
[scale @ 0x24cbda0] w:640 h:480 fmt:yuyv422 -> w:640 h:480 fmt:yuv420p
flags:0x4
[libvpx @ 0x24c6a40] v1.1.0
Output #0, ffm, to 'http://192.168.1.2:8090/webcam.ffm':
Metadata:
encoder : Lavf53.21.1
Stream #0.0: Video: libvpx, yuv420p, 640x480, q=-1--1, 512 kb/s, 1000k
tbn, 30 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> libvpx)
Press ctrl-c to stop encoding
frame= 2437 fps= 30 q=0.0 size= 5296kB time=81.23 bitrate= 534.1kbits/s
dup=30 drop=0
$ ffplay http://192.168.1.2:8090/webcam.webm
avplay version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2003-2013 the
Libav developers
built on Nov 9 2013 19:09:48 with gcc 4.7.3
-> status.html:
Connection Status
Number of connections: 3 / 4
Bandwidth in use: 512k / 50000k
# File IP Proto State Target bits/sec Actual bits/sec
Bytes transferred
1 status.html 192.168.1.42 HTTP/1.1 HTTP_WAIT_REQUEST
0 0 0
2 webcam.webm 192.168.1.2 HTTP/1.1 WAIT_FEED
512k 0 494
3 webcam.ffm(input) 192.168.1.2 HTTP/1.1
RECEIVE_DATA 512k 545k 2121k
}}}
If I use ffmpeg to write into a file, the file is readable in VLC; if I
change format to mjpeg, the stream is readable through ffserver; so I
think there is an issue with ffserver/webm.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3372>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list