问题
I have got one HD video "ed_hd.avi" on System#1. Would like to stream it over network and play the content from System#2. I am using GStreamer on Ubuntu 11.04, tried a lot on this. Variety of errors makes this objective difficult to diagnose. Will be thankful for getting a working command for the System#1-end and System#2-end.
What I have tried is as follows:
System #1:
gst-launch filesrc location=ed_hd.avi ! decodedin ! x263enc ! video/x-h264 ! rtph264pay ! udpsink host=127.0.0.1 port=5000
System #2:
gst-launch udpsrc port=5000 ! rtph264depay ! decodebin ! xvimagesink
Objective is : Convert avi file to raw video. Stream it from the second System#2.
Thank You.
回答1:
Could you try the following
gst-launch filesrc location=ed_hd.avi ! decodebin ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000
If that doesn't work then proceed:
Did you try the following? You need to replace his audio bins with video bins
http://delog.wordpress.com/2011/06/01/stream-raw-vorbis-audio-over-udp-or-tcp-with-gstreamer/
Also take a look at
http://pastebin.com/PtD21Bx7
Here replace v4l2src with your video src
Also
https://metalab.at/wiki/Gstreamer_One_Liners
回答2:
I think your problem is the 127.0.0.1
portion. That is a loopback address (check ifconfig lo0
to see the Link encap:Local Loopback
for the 127.0.0.1
address). This won't work across two systems, though it might work fine on a single system.
Instead, use the address that is publicly visible for the second machine; check ip addr show
or ifconfig
output to find the address. Write the actual address for System #2 in the command line on System #1.
来源:https://stackoverflow.com/questions/7708547/streaming-using-gstreamer