[FFmpeg-user] Strange behaviour when setting RTSP_TRANSPORT option to UDP_MULTICAST

Ali Can Albayrak albayrakalican at gmail.com
Fri Jan 8 16:23:27 CET 2016


Hi again,

After testing this issue with different cases whole 2 days, I might find
the problem, which is some "streaming sources may not provide multicast
stream and forced to grab frames with udp_multicast option".

I tried connect to multicast stream (I'm sure it stream as multicast) using
 *ffplay rtsp://10.0.5.0:554/multicaststream
<http://10.0.5.0:554/multicaststream> *(I'll call it moxa as an
abbreviation)

Before read below you may want to take a look at my system information and
console soutput when error occurs.

1) system_info_and_stream_analyze.txt
<https://gist.github.com/alicanalbayrak/233a1164074901fff3fb>
2) ffmpeg_udp_multicast_err.txt
<https://gist.github.com/alicanalbayrak/879bdd15ff940be2746d>


It gives an error as below:
-------------------------------------------------------
ffplay version 2.6.3 Copyright (c) 2003-2015 the FFmpeg developers
  built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
  configuration: --prefix=/usr --bindir=/usr/bin
--datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg
--libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2
-g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
-m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls
--enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394
--disable-indev=jack --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus
--enable-libpulse --enable-libschroedinger --enable-libsoxr
--enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2
--enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid
--enable-x11grab --enable-avfilter --enable-avresample --enable-postproc
--enable-pthreads --disable-static --enable-shared --enable-gpl
--disable-debug --disable-stripping --shlibdir=/usr/lib64
--enable-runtime-cpudetect
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[rtsp @ 0x7f7d800008c0] Nonmatching transport in server reply=0/0
rtsp://10.0.1.159:554/multicaststream: Invalid data found when processing
input

Then I added "rtsp_transport udp_multicast" option then it worked as
expected.

I have two other stream address (have suspicion about them about multicast
streaming) that works either with udp_multicast option or without it. (By
the way, these two streaming sources are Vivotek)

When I play one vivotek and moxa (absolutely multicast), by adding
udp_multicast option. It still works.

BUT, if I try 2 vivoteks and moxa same time, I have 3 different ffplay
screens but one of the vivotek stream suppresses the other vivotek.

Same problem also observed, when playing only vivoteks concurrently.

Last, I played moxa with upd_multicast option and vivoteks without any
option. It works great now.

But still, I'm not sure of that, would it be work if there is any other
multicast stream capable source(two moxa). Any ideas ?


More information about the ffmpeg-user mailing list