WiFi multicast scenario

classic Classic list List threaded Threaded
4 messages Options
JPM
Reply | Threaded
Open this post in threaded view
|

WiFi multicast scenario

JPM
Hi,

I'm testing this multicast scenario :

1) RPi (multicast video server) connected to AP via ethernet sending multicast video stream with pipeline :
    raspivid -t 0 -w 960 -h 540 -fps 30 -hf -vf -b 2000000 -o - | gst-launch-1.0 -e fdsrc ! h264parse !
    rtph264pay pt=96 config-interval=5 ! udpsink host=224.1.1.1 multicast-iface=eth0 force-ipv4=true
    port=5001

2) Two Android devices (TUTORIAL3 multicast video client) connected to AP via WiFi receiving multicast
    video stream with pipeline :
    data->pipeline = gst_parse_launch("udpsrc multicast-group=224.1.1.1 auto-multicast=true port=5001
    ! application/x-rtp, payload=96 ! queue ! rtph264depay ! queue ! h264parse ! decodebin ! eglglessink
    sync=false", &error);

Everything is ok but when one client goes to onPause() the other client loses the video stream.

Any idea about what is happening ?.

Thanks in advance and regards.
Reply | Threaded
Open this post in threaded view
|

Re: WiFi multicast scenario

Linus Lüssing
On Fri, Apr 21, 2017 at 03:14:51AM -0700, JPM wrote:
> Everything is ok but when one client goes to onPause() the other client
> loses the video stream.
>
> Any idea about what is happening ?.

Wild guess: Maybe some faulty IGMP snooping switch or AP?

Usually when one client exits it sends an IGMP Leave message. The IGMP
Querier should then query again to check whether this was the last
device interested in the according multicast group. The remaining
client should then respond with an IGMP Report within the
max-delay specified in the previous IGMP Query.

You could check with Wireshark on the clients whether you
see such an IGMP exchange.

Which wireless access point are you using, does it run its factory
firmware or are using something like OpenWRT/DD-WRT/LEDE?

Are there any snooping switches involved?

Does it make a difference to use 224.0.0.X instead? (224.0.0.0/24
is link-local multicast and should(tm) be ignored by IGMP snooping
switches/APs, see RFC4541)

Regards, Linus
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
JPM
Reply | Threaded
Open this post in threaded view
|

Re: WiFi multicast scenario

JPM
I use the Mitrastar HGW-2501GN-R2 WiFi AP running its factory
firmware. The LAN setup is :

Multicast : IGMP v1/IGMP v2/IGMP v3
IGMP Snooping : Enabled
IGMP Quickleave : Enabled

With multicast group address 224.0.0.1 the WiFi clients never get the video stream but a third client connected by ethernet works.

I will try to capture the IGMP traffic.

Thanks and regards.
JPM
Reply | Threaded
Open this post in threaded view
|

Re: WiFi multicast scenario

JPM
Hi,

Problem solved using another AP but when a client goes to onPause and I click again over the application icon the app does not work.

Is it necessary to use nativeFinalize() and nativeInit() in some another place of java file in order to fix this behavior ?.

Where and how ?.

Any help ?.

Thanks in advance and regards.