我在系统#1上有一个高清视频“ed_hd.avi”。想通过网络流式传输并播放System#2中的内容。我在Ubuntu 11.04上使用GStreamer,在此尝试了很多。各种错误使得该目标难以诊断。感谢获得System#1-end和System#2-end的工作命令。
我尝试的内容如下:
系统#1:
gst-launch filesrc location=ed_hd.avi ! decodedin ! x263enc ! video/x-h264 ! rtph264pay ! udpsink host=127.0.0.1 port=5000
系统#2:
gst-launch udpsrc port=5000 ! rtph264depay ! decodebin ! xvimagesink
目标是:将avi文件转换为原始视频。从第二个系统#2流式传输。
谢谢。
答案 0 :(得分:1)
您可以尝试以下
gst-launch filesrc location=ed_hd.avi ! decodebin ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000
如果不起作用,请继续:
您是否尝试过以下操作?您需要用视频箱替换他的音频箱
http://delog.wordpress.com/2011/06/01/stream-raw-vorbis-audio-over-udp-or-tcp-with-gstreamer/
另外看看
此处将v4l2src替换为您的视频src
另外
答案 1 :(得分:1)
我认为您的问题是127.0.0.1
部分。这是 loopback 地址(选中ifconfig lo0
以查看Link encap:Local Loopback
地址的127.0.0.1
。这不适用于两个系统,尽管它可能在单个系统上正常工作。
相反,请使用第二台机器公开显示的地址;检查ip addr show
或ifconfig
输出以查找地址。在System#1的命令行中写入System#2的实际地址。