[FFmpeg-trac] #8211(avformat:new): ffplay does'nt play mjpeg stream

FFmpeg trac at avcodec.org
Thu Mar 18 14:39:14 EET 2021

#8211: ffplay does'nt play mjpeg stream
             Reporter:  anhsoft      |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  wish         |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  rtsp mjpeg   |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |

Comment (by HappyCow):

 Dear friends, the solution may be in the calculation of the buffer size
 That is the only difference in the whole process.
 Comparing one by one the analysis sequence of IjkPlayer on Android
 (FFmpeg: ff3.3--bw0.8.0--20180323--001-1-geb1575fefe) and FFPLAY on
 Windows (version 4.3.2-2021-02-27-full_build-www.gyan.dev) they are
 EXACTLY the same except when arriving at the stage of decoding the JFIF
 markers (specially the DA marker [Start of Scan]):

 IJKMEDIA [IjkPlayer]
 marker=da avail_size_in_buf=37009
 component: 0
 component: 1
 component: 2
 marker parser used 36932 bytes (295454 bits)

 ffplay -loglevel debug -i rtsp://
 [mjpeg @ 05ff6740]
 marker=da avail_size_in_buf=17132
 component: 0
 component: 1
 component: 2
 mjpeg_decode_dc: bad vlc: 0:0 (05b1e6a8)
 error dc
 error y=1 x=0
 marker parser used 196 bytes (1568 bits)

 As you can see the avail_size_in_buf reserved is consistently more or less
 half of the required
 so the marker=da is just partially processed resulting in the final error

 Apparently, this has nothing to do with the available memory as that other
 lines are more or less equal in both systems:
 [udp @ 05af7080] end receive buffer size reported is 65536
 [udp @ 05b0cdc0] No default whitelist set
 [udp @ 05b0cdc0] 'circular_buffer_size' option was set but it is not
 supported on this build (pthread support is required)
 [udp @ 05b0cdc0] end receive buffer size reported is 65536
 [rtsp @ 05af50a0] setting jitter buffer size to 500

 However, unfortunately I have not found out how to change that behaviour
 on the Windows implementation, and the error persists.

 Any suggestions are welcome. Best regards.

Ticket URL: <https://trac.ffmpeg.org/ticket/8211#comment:10>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list