[FFmpeg-trac] #2171(undetermined:new): Joining a SSM multicast group using an SDP

FFmpeg trac at avcodec.org
Wed Jan 23 09:27:29 CET 2013


#2171: Joining a SSM multicast group using an SDP
--------------------------------+----------------------------------------
             Reporter:  dbrb2   |                    Owner:
                 Type:  defect  |                   Status:  new
             Priority:  normal  |                Component:  undetermined
              Version:  1.1.1   |               Resolution:
             Keywords:  sdp     |               Blocked By:
             Blocking:          |  Reproduced by developer:  0
Analyzed by developer:  0       |
--------------------------------+----------------------------------------
Description changed by cehoyos:

Old description:

> 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:
>
> http://ffmpeg.gusari.org/viewtopic.php?f=12&t=766&p=1482#p1482
>
> The command to replicate can be as simple as:
>
> ffmpeg -i file.sdp
>
> Where "file.sdp" is of the form:
>
> v=0
> 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> -> 224.0.0.22   IGMP V3 Membership Report / Join
> group <multicast_video_address> for any sources
> 458.410757 <local_ip> -> 224.0.0.22   IGMP V3 Membership Report / Join
> group <multicast_video_address> for any sources
> 466.613846 <local_ip> -> 224.0.0.22   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> -> 224.0.0.22   IGMP V3 Membership Report / Join
> group <multicast_video_address> for any sources
> 146.785156 <local_ip> -> 224.0.0.22   IGMP V3 Membership Report / Join
> group <multicast_video_address> for source {<unicast_video_address>}

New description:

 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:

 http://ffmpeg.gusari.org/viewtopic.php?f=12&t=766&p=1482#p1482

 The command to replicate can be as simple as:

 ffmpeg -i file.sdp

 Where "file.sdp" is of the form:
 {{{
 v=0
 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> -> 224.0.0.22   IGMP V3 Membership Report / Join
 group <multicast_video_address> for any sources
 458.410757 <local_ip> -> 224.0.0.22   IGMP V3 Membership Report / Join
 group <multicast_video_address> for any sources
 466.613846 <local_ip> -> 224.0.0.22   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> -> 224.0.0.22   IGMP V3 Membership Report / Join
 group <multicast_video_address> for any sources
 146.785156 <local_ip> -> 224.0.0.22   IGMP V3 Membership Report / Join
 group <multicast_video_address> for source {<unicast_video_address>}

--

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2171#comment:4>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list