udpsink to specific interface

Joseph Olivier jolivier at picodigital.com
Sat Mar 1 13:48:40 PST 2014


Thanks for the pointer about the (looks like new in 1.1) "bind-address"
variable. I'm still stuck on 0.10-era code because of processor-specific
plugins. But I'll definitely be able to check out the newer code. It didn't
look like that property was available because the documentation (
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/)
is still on 1.0.

I will look into the routing table option you suggest.


Thank you,
Joe


On Sat, Mar 1, 2014 at 12:43 PM, Peter Maersk-Moller <pmaersk at gmail.com>wrote:

> Normally an IP packet should go out through interface for which its
> destination address is to be routed. This means that it is the routing
> tabel and the network layer that determines the routing of IP packets.
> Normally there is a very good reason for that and normally there is a
> reason why the application level should not interfering with lower levels
> on the network stack.
> But lets for arguments sake say we allow the application layer to make
> that decision, then udpsink has the variable 'bind-address'. Using this,
> you can easily select the interface udpsink binds to.
>
> P
>
>
>
> On Sat, Mar 1, 2014 at 9:34 PM, Joseph Olivier <jolivier at picodigital.com>wrote:
>
>> Perhaps I was unclear about my scenario. I have an embedded linux system
>> with multiple (VLAN) ethernet interfaces that generates MPEGTS data to
>> distribute via UDP multicast.
>>
>> So, under `ifconfig`, I have several interfaces, such as: eth0, eth0.10,
>> eth0.12, eth0.25, eth0.30. Each of these "dot" interfaces sends packets via
>> a different VLAN (eth0.X goes on VLAN X).
>>
>> I need to ensure my video stream goes out (not to) a particular interface
>> so that it gets the correct VLAN tag. For example, I need to target
>> specifically `eth0.25` from the example above.
>>
>> If I have direct control of the socket, I can call set_sockopt() with
>> SO_BINDTODEVICE. Can this be done with udpsink? What would be the best way
>> to ensure that my (multicast) packets go out the appropriate interface?
>>
>>
>> On Sat, Mar 1, 2014 at 11:43 AM, Peter Maersk-Moller <pmaersk at gmail.com>wrote:
>>
>>> Hi Jospeh
>>>
>>> It is rather trivial to identify the IP address though you may have to
>>> customize it to your system
>>>
>>> #!/bin/bash
>>> get_ip()
>>> {
>>>   ifconfig $1 |grep 'inet addr' |cut -f2 -d: |cut -f1 -d' '
>>> }
>>>
>>> gst-launch ....... upsrc host=`get_ip eth0`
>>>
>>>
>>>
>>>
>>>
>>> On Sat, Mar 1, 2014 at 8:23 PM, Joseph Olivier <jolivier at picodigital.com
>>> > wrote:
>>>
>>>> I'm generating a video stream which I send via UDP multicast. But the
>>>> packets have to go out a specific Linux ethernet interface (with a VLAN
>>>> tag).
>>>>
>>>> Looking at udpsink, seems like the only configurables are HOST and
>>>> PORT, which would not trivially allow me to identify the target interface.
>>>> I'm looking for a strategy that more-or-less executes a
>>>> bind-to-device(ethX) or a workaround.
>>>>
>>>>
>>>> Thanks,
>>>> Joe
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>>
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140301/40a639b9/attachment-0001.html>


More information about the gstreamer-devel mailing list