Opened 7 years ago

Last modified 6 years ago

#2171 closed defect

Joining a SSM multicast group using an SDP — at Version 4

Reported by: dbrb2 Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: sdp rtp rtsp
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by cehoyos)

Hi, first bug report so apologies if format not quite correct.

When attempting to join a multicast group using SSM by providing ffmpeg with an sdp file as input, a tshark trace seems to show that the IGMPv3 requests issued do not in fact include the SSM addresses provided within the SDP, and hence the stream is not joined.

The original issue was raised here:

The command to replicate can be as simple as:

ffmpeg -i file.sdp

Where "file.sdp" is of the form:

m=video <multicast_port> RTP/AVP 96
c=IN IP4 <multicast_ip>
a=rtpmap:96 RTP/AVP
a=source-filter: incl IN IP4 <multicast_ip> <unicast_ip>

An example output for this would be:

ffmpeg version 1.1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 22 2013 14:35:01 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-52)
  configuration: --enable-gpl --enable-libvorbis --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 86.100 / 54. 86.100
  libavformat    54. 59.106 / 54. 59.106
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 32.100 /  3. 32.100
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[sdp @ 0x1ba57500] Could not find codec parameters for stream 0 (Video: mpeg4, yuv420p): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[sdp @ 0x1ba57500] Estimating duration from bitrate, this may be inaccurate
file.sdp: could not find codec parameters

If tshark is run on the machine making this request, it can be seen that no source is specified in the IGMPv3 requests

456.597623 <local_ip> -> IGMP V3 Membership Report / Join group <multicast_video_address> for any sources
458.410757 <local_ip> -> IGMP V3 Membership Report / Join group <multicast_video_address> for any sources
466.613846 <local_ip> -> IGMP V3 Membership Report / Leave group <multicast_video_address>

Whereas a successful join of this group (using another media player, for instance VLC) would yeild something similar to:

146.777143 <local_ip> -> IGMP V3 Membership Report / Join group <multicast_video_address> for any sources
146.785156 <local_ip> -> IGMP V3 Membership Report / Join group <multicast_video_address> for source {<unicast_video_address>}

Change History (4)

comment:1 Changed 7 years ago by dbrb2

  • Version changed from unspecified to 1.1.1

comment:2 Changed 7 years ago by dbrb2

  • Cc added

comment:3 Changed 7 years ago by cehoyos

  • Keywords sdp added; IGMP SSM Multicast removed

Is this reproducible with current git head?

Do you have a suggestion on how this can be tested / reproduced on a local network?
Or do you have a public address (sdp file) that allows testing?

comment:4 Changed 7 years ago by cehoyos

  • Description modified (diff)
Note: See TracTickets for help on using tickets.