Hi, all. I am a newbie to gstreamer. I am now trying build a simple pipeline to transmit video with udp between two machines.<br>Here are what I have done now.<br><br>server:<br>gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! { queue ! udpsink port=4400 } \<br>
mpegdemux0.audio_00 ! { queue ! udpsink port=4401 }<br><br>client:<br>gst-launch udpsrc port=4400 ! { queue ! mpeg2dec ! xvimagesink } \<br>udpsrc port=4401 ! { queue ! decodebin ! audioconvert ! audioresample ! autoaudiosink }<br>
<br>I test them in one machine. They work well.<br><br>But when I tried to specify the ip address as:<br><br>server:<br>gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! { queue ! udpsink port=4400 host=192.168.0.1} \<br>
mpegdemux0.audio_00 ! { queue ! udpsink port=4401 host=192.168.0.1 }<br>
client:<br>
gst-launch udpsrc uri=udp://<a href="http://192.168.0.1:4400/" target="_blank">192.168.0.1:4400</a> ! { queue ! mpeg2dec ! xvimagesink } \<br>
udpsrc uri=udp://<a href="http://192.168.0.1:4401/" target="_blank">192.168.0.1:4401</a> ! { queue ! decodebin ! audioconvert ! audioresample ! autoaudiosink }<br><br>Error occurs in the client.<br>error: from element /pipeline0/udpsrc0£ºcan't get the resource specified. (I translate the message from my local language)<br>
<br>gstudpsrc.c(825): gst_udpsrc_start (): /pipeline0/udpsrc0:<br>could add membership -1: invalid parameter (22)<br><br><br>Even cannot work with using 127.0.0.1 in one machine.<br>server:<br>
gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! { queue ! udpsink port=4400 host=127.0.0.1 } \<br>
mpegdemux0.audio_00 ! { queue ! udpsink port=4401 host=127.0.0.1 }<br>
client:<br>
gst-launch udpsrc uri=udp://<a href="http://127.0.0.1/" target="_blank">127.0.0.1</a> :4400 ! { queue ! mpeg2dec ! xvimagesink } \<br>
udpsrc uri=udp://<a href="http://127.0.0.1/" target="_blank">127.0.0.1</a> :4401 ! { queue ! decodebin ! audioconvert ! audioresample ! autoaudiosink }<br><br>But using "localhost" works,<br>
gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! { queue ! udpsink port=4400 host=localhost } \<br>
mpegdemux0.audio_00 ! { queue ! udpsink port=4401 host=localhost }<br>
client:<br>
gst-launch udpsrc uri=udp://localhost :4400 ! { queue ! mpeg2dec ! xvimagesink } \<br>
udpsrc uri=udp://localhost :4401 ! { queue ! decodebin ! audioconvert ! audioresample ! autoaudiosink }<br><br>I'm confused. Can anybody help me?<br>
Thanks very much.