[FFmpeg-trac] #4113(undetermined:new): ffserver ignores videoframerate for mjpeg streams

FFmpeg trac at avcodec.org
Mon Nov 17 02:32:00 CET 2014


#4113: ffserver ignores videoframerate for mjpeg streams
-------------------------------------+-------------------------------------
             Reporter:  illumilore   |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 I have "VideoFrameRate 1" in ffserver.conf, but when watching the stream,
 it is updated far more than a single frame per second, so it seems that
 ffserver is silently ignore this option. FFmpeg says it is 5 when
 launching that, but there is no reason for it to override an output stream
 like that. I think it is only supposed to be able to override the input
 refresh if it is wrong.

 <Stream test.mjpg>
         Feed cam.ffm
         Format mpjpeg
         VideoFrameRate 1
         VideoIntraOnly
         VideoQmin 10
         VideoQMax 20
         VideoSize 480x320
         NoAudio
         Strict -1
 </Stream>

 $ ./ffserver -f /etc/ffserver.conf
 ffserver version N-67731-gce80f9f Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Nov 15 2014 20:32:58 with gcc 4.8 (SUSE Linux)
   configuration: --enable-libfreetype --enable-libfontconfig
   libavutil      54. 13.100 / 54. 13.100
   libavcodec     56. 12.101 / 56. 12.101
   libavformat    56. 13.100 / 56. 13.100
   libavdevice    56.  3.100 / 56.  3.100
   libavfilter     5.  2.103 /  5.  2.103
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
 /etc/ffserver.conf:5: Port option is deprecated, use HTTPPort instead
 /etc/ffserver.conf:9: BindAddress option is deprecated, use
 HTTPBindAddress instead
 /etc/ffserver.conf:150: 'Title' option in configuration file is
 deprecated, use 'Metadata title VALUE' instead
 Sun Nov 16 18:26:01 2014 FFserver started.

 $ ./ffmpeg -f alsa -itsoffset 0.7 -ar 24000 -i plughw:2 -f video4linux2
 -inputormat mjpeg -s 960x720 -r 5 -i /dev/video0 -map 0:a -map 1:v
 http://127.0.0.1:8090/cam.ffm -f segment -segment_time 3600
 -segment_atclocktime 1 -r 5 -s 640x480 -reset_timestamps 1
 -segment_list_flags live -vf
 "drawtext='fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf:fontcolor=white:fontsize=30:x=1:y=2:shadowx=1:shadowy=1:text=%{localtime\:%Y-%m-%d
 %H\\\\\:%M\\\\\:%S}'" -segment_start_number 94 /media/cam/test_%04d.avi
 ffmpeg version N-67731-gce80f9f Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Nov 15 2014 20:32:58 with gcc 4.8 (SUSE Linux)
   configuration: --enable-libfreetype --enable-libfontconfig
   libavutil      54. 13.100 / 54. 13.100
   libavcodec     56. 12.101 / 56. 12.101
   libavformat    56. 13.100 / 56. 13.100
   libavdevice    56.  3.100 / 56.  3.100
   libavfilter     5.  2.103 /  5.  2.103
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
 Guessed Channel Layout for  Input Stream #0.0 : stereo
 Input #0, alsa, from 'plughw:2':
   Duration: N/A, start: 1416187590.440149, bitrate: 768 kb/s
     Stream #0:0: Audio: pcm_s16le, 24000 Hz, 2 channels, s16, 768 kb/s
 Input #1, video4linux2,v4l2, from '/dev/video0':
   Duration: N/A, start: 542826.030897, bitrate: N/A
     Stream #1:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown),
 960x720, 0 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
 [swscaler @ 0x2b0f7e0] deprecated pixel format used, make sure you did set
 range correctly
 [swscaler @ 0x2b7af40] deprecated pixel format used, make sure you did set
 range correctly
 [swscaler @ 0x2b96cc0] deprecated pixel format used, make sure you did set
 range correctly
 [swscaler @ 0x2bb73e0] deprecated pixel format used, make sure you did set
 range correctly
 [swscaler @ 0x2be6ae0] deprecated pixel format used, make sure you did set
 range correctly
 Output #0, ffm, to 'http://127.0.0.1:8090/cam.ffm':
   Metadata:
     creation_time   : now
     encoder         : Lavf56.13.100
     Stream #0:0: Video: flv1 (flv), yuv420p, 960x720, q=5-15, 4000 kb/s, 5
 fps, 1000k tbn, 5 tbc
     Metadata:
       encoder         : Lavc56.12.101 flv
     Stream #0:1: Video: mjpeg, yuvj422p(pc), 960x720, q=1-5, 200 kb/s, 5
 fps, 1000k tbn, 5 tbc
     Metadata:
       encoder         : Lavc56.12.101 mjpeg
     Stream #0:2: Video: mjpeg, yuvj422p(pc), 480x320, q=10-20, 200 kb/s, 5
 fps, 1000k tbn, 5 tbc
     Metadata:
       encoder         : Lavc56.12.101 mjpeg
     Stream #0:3: Video: flv1 (flv), yuv420p, 320x240, q=1-3, 320 kb/s, 5
 fps, 1000k tbn, 5 tbc
     Metadata:
       encoder         : Lavc56.12.101 flv
     Stream #0:4: Video: msmpeg4v3 (msmpeg4), yuv420p, 352x240, q=2-31, 256
 kb/s, 5 fps, 1000k tbn, 5 tbc
     Metadata:
       encoder         : Lavc56.12.101 msmpeg4
 Output #1, segment, to '/media/cam/test_%04d.avi':
   Metadata:
     encoder         : Lavf56.13.100
     Stream #1:0: Video: mpeg4, yuv420p, 640x480, q=2-31, 200 kb/s, 5 fps,
 5 tbn, 5 tbc
     Metadata:
       encoder         : Lavc56.12.101 mpeg4
     Stream #1:1: Audio: ac3, 24000 Hz, stereo, fltp, 192 kb/s
     Metadata:
       encoder         : Lavc56.12.101 ac3
 Stream mapping:
   Stream #1:0 -> #0:0 (mjpeg (native) -> flv1 (flv))
   Stream #1:0 -> #0:1 (mjpeg (native) -> mjpeg (native))
   Stream #1:0 -> #0:2 (mjpeg (native) -> mjpeg (native))
   Stream #1:0 -> #0:3 (mjpeg (native) -> flv1 (flv))
   Stream #1:0 -> #0:4 (mjpeg (native) -> msmpeg4v3 (msmpeg4))
   Stream #1:0 -> #1:0 (mjpeg (native) -> mpeg4 (native))
   Stream #0:0 -> #1:1 (pcm_s16le (native) -> ac3 (native))
 Press [q] to stop, [?] for help
 [mjpeg @ 0x2b637a0] rc buffer underflow
     Last message repeated 2 times
 frame=    3 fps=0.0 q=2.0 q=33.7 q=3.1 q=2.0 q=2.0 q=2.0 size=     360kB
 time=00:00:00.76 bitrate=3840.0kbits/s [mjpeg @ 0x2b637a0] rc buffer
 underflow
 [mjpeg @ 0x2b68e40] rc buffer underflow
 [mjpeg @ 0x2b637a0] rc buffer underflow
 [mjpeg @ 0x2b68e40] rc buffer underflow
 [mjpeg @ 0x2b637a0] rc buffer underflow
 [mjpeg @ 0x2b68e40] rc buffer underflow

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4113>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list