[FFmpeg-trac] #4095(ffserver:new): ffserver mjpeg stream lacks boundaries
FFmpeg
trac at avcodec.org
Sat Nov 8 09:29:13 CET 2014
#4095: ffserver mjpeg stream lacks boundaries
-------------------------------------+-------------------------------------
Reporter: illumilore | Type: defect
Status: new | Priority: normal
Component: ffserver | Version:
Keywords: | unspecified
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
When playing mjpeg stream from ffserver, it is lacking boundary strings,
so firefox can only try to download it and never displays it. Chrome and
wget also are unable to grab a frame.
<Stream test.mjpg>
Feed cam.ffm
Format mjpeg
VideoFrameRate 5
VideoIntraOnly
VideoQmin 1
VideoQMax 5
VideoSize 960x720
NoAudio
Strict -1
</Stream>
$ ffserver
ffserver version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 6 2014 10:05:27 with gcc 4.8 (SUSE Linux)
configuration: --shlibdir=/usr/lib64 --prefix=/usr
--mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-
static --enable-debug --disable-stripping --extra-cflags='-fmessage-
length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-
protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC
-I/usr/include/gsm' --enable-gpl --enable-x11grab --enable-version3
--enable-pthreads --enable-avfilter --enable-libpulse --enable-libvpx
--enable-libopus --enable-libass --enable-libx265 --enable-libmp3lame
--enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid
--enable-libx264 --enable-libschroedinger --enable-libgsm --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-
libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample
--enable-libtwolame --enable-libvo-aacenc --enable-gnutls
libavutil 52. 92.100 / 52. 92.100
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.100 / 55. 48.100
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.100 / 4. 11.100
libavresample 1. 3. 0 / 1. 3. 0
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
Sat Nov 8 01:26:19 2014 FFserver started.
$ ffmpeg -f video4linux2 -input_format mjpeg -r 1 -i /dev/video0 -strict
-1 tp://127.0.0.1:8090/cam.ffm
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 6 2014 10:05:27 with gcc 4.8 (SUSE Linux)
configuration: --shlibdir=/usr/lib64 --prefix=/usr
--mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-
static --enable-debug --disable-stripping --extra-cflags='-fmessage-
length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-
protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC
-I/usr/include/gsm' --enable-gpl --enable-x11grab --enable-version3
--enable-pthreads --enable-avfilter --enable-libpulse --enable-libvpx
--enable-libopus --enable-libass --enable-libx265 --enable-libmp3lame
--enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid
--enable-libx264 --enable-libschroedinger --enable-libgsm --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-
libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample
--enable-libtwolame --enable-libvo-aacenc --enable-gnutls
libavutil 52. 92.100 / 52. 92.100
libavcodec 55. 69.100 / 55. 69.100
libavformat 55. 48.100 / 55. 48.100
libavdevice 55. 13.102 / 55. 13.102
libavfilter 4. 11.100 / 4. 11.100
libavresample 1. 3. 0 / 1. 3. 0
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100
[video4linux2,v4l2 @ 0x141d2e0] The driver changed the time per frame from
1/1 to 1/5
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 176708.143980, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg), 960x720, 0 kb/s, 5
fps, 5 tbr, 1000k tbn, 1000k tbc
[swscaler @ 0x14147c0] deprecated pixel format used, make sure you did set
range correctly
[swscaler @ 0x144d5c0] deprecated pixel format used, make sure you did set
range correctly
[swscaler @ 0x14721e0] deprecated pixel format used, make sure you did set
range correctly
[libvpx @ 0x1431f40] v1.3.0
[libvpx @ 0x1431f40] Failed to set VP8E_SET_ARNR_TYPE codec control:
Invalid parameter
[libvpx @ 0x1431f40] Additional information: arnr_type out of range
[1..3]
Output #0, ffm, to 'http://127.0.0.1:8090/cam.ffm':
Metadata:
creation_time : now
encoder : Lavf55.48.100
Stream #0:0: Video: flv1 (flv), yuv420p, 640x480, q=1-10, 400 kb/s, 1
fps, 1000k tbn, 1 tbc
Metadata:
encoder : Lavc55.69.100 flv
Stream #0:1: Video: vp8 (libvpx), yuv420p, 960x720, q=15-42, 800 kb/s,
1 fps, 1000k tbn, 1 tbc
Metadata:
encoder : Lavc55.69.100 libvpx
Stream #0:2: Video: mjpeg, yuvj422p, 960x720, q=1-5, 128 kb/s, 1 fps,
1000k tbn, 1 tbc
Metadata:
encoder : Lavc55.69.100 mjpeg
Stream #0:3: Video: flv1 (flv), yuv420p, 320x240, q=1-3, 320 kb/s, 1
fps, 1000k tbn, 1 tbc
Metadata:
encoder : Lavc55.69.100 flv
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> flv1 (flv))
Stream #0:0 -> #0:1 (mjpeg (native) -> vp8 (libvpx))
Stream #0:0 -> #0:2 (mjpeg (native) -> mjpeg (native))
Stream #0:0 -> #0:3 (mjpeg (native) -> flv1 (flv))
Press [q] to stop, [?] for help
[mjpeg @ 0x1432f20] rc buffer underflow
Last message repeated 2 times
frame= 3 fps=0.0 q=2.0 q=0.0 q=33.6 q=2.0 size= 352kB
time=00:00:03.00 bitrate= 961.2kbits/s [mjpeg @ 0x1432f20] rc buffer
underflow
frame= 4 fps=2.7 q=2.0 q=0.0 q=31.7 q=2.0 size= 456kB
time=00:00:04.00 bitrate= 933.9kbits/s [mjpeg @ 0x1432f20] rc buffer
underflow
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4095>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list