[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