今天你试用下gst-rtsp-server工具
gst-rtsp-server安装过程参考:该网址,在安装VLC进行推流测试,先对网上的提供的rtsp服务进行推流,证明VLC推流没问题。
对gst-rtsp-server进行推流操作:(参考文章,只用到这篇文章的测试部分)
首先执行以下代码:
#搭建Rtsp Server:
./test-launch "( videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 )"
在另外开启一个终端并执行:
#播放rtsp流:
gst-launch-1.0 playbin uri=rtsp://127.0.0.1:8554/test
另外打开VLC进行播放测试成功。最终结果如下图:
Ubuntu中的测试视频推流,用windows中的的VLC进行拉流显示:(参考教程)
进入gst-rtsp-server中的examples中执行:
./test-launch "( videotestsrc ! video/x-raw,width=640,height=480,framerate=30/1 ! timeoverlay ! tee name=vsrc vsrc. ! queue ! videoconvert ! ximagesink vsrc. ! queue ! x264enc tune=zerolatency ! rtph264pay name=pay0 pt=96 )"
这里需要说明的是,命令行中会显示的是127.0.0.1是回环地址,如果windows下想实现推流的话,需要先查询到虚拟机的ip地址,然后打开windows中的VLC软件,将网络串流中的127.0.0.1改成ubuntu的ip地址。
ubutnu对任意IP推流的实现
将虚拟机的ip地址改成固定ip,首先查看win下的ip和网关:
因此参考win下的ip地址将ubuntu中地址改成固定ip
重启查询IP地址:,修改成功
这样就设置了虚拟机中固定ip,在win下实现固定推流
尝试不同网关下是否可以实现推流:可以
首先按照该教程,将ubuntu和win下的地址设置成不同的网关。此时的虚拟机的网关和IP地址都和win地址不同,但都可以实现推流。
虚拟机的地址修改为:
win的IP地址为:
此时他们的网关并不一样,最终也可以实现推流效果:
设置静态ip:(参考网址)
按照教程走下去,将yaml文件修改为以下内容:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
addresses: [192.168.88.8/24] #上一步设置.3~.10,注意不要超出该范围
gateway4: 192.168.88.2
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
在执行一下命令:
sudo netplan apply
ip addr
可以看到静态地址已经修改成功。
ping一下百度试试看:
参考链接:
[1]、GStreamer中文教程