2.gstreamer USB摄像头RTSP推流

目录

1、操作系统版本

2、使用gstreamer播放mp4文件

3、采集USB摄像头视频源,并RTSP推流

4、使用RTSP播放器播放

5、注意事项


1、操作系统版本

使用的虚拟机加ubuntu 20.04

2、使用gstreamer播放mp4文件

gst-launch-1.0 filesrc location=./test.mp4 ! decodebin ! autovideosink

这里需要使用MobaXterm ssh登录,可以正常播放,但是在虚拟机内无法播放,暂时不知道原因

3、采集USB摄像头视频源,并RTSP推流

先安装编译gstreamer rtsp需要用到的工具:

sudo apt-get install gtk-doc-tools
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev

再下载gstreamer rtsp源码:

git clone  -b 1.8 https://github.com/GStreamer/gst-rtsp-server.git 

接着编译gstreamer rtsp源码:

cd gst-rtsp-server 
./autogen.sh
sudo make

然后输入rtsp推流命令:

./test-launch --gst-debug-level=3 "( v4l2src device=/dev/video0 ! videoconvert ! video/x-raw, format=(string)NV12, width=640, height=480, framerate=30/1 ! queue ! x264enc bitrate=10240 !  rtph264pay name=pay0 pt=96 )"

4、使用RTSP播放器播放

播放的效果:

 这里由于是将视频源编码成H264格式,使用的软件编码x264enc,所以消耗的时间比较大。另一方面,视频播放器解码也是使用的软件解码,所以两者加起来的延时比较大。最终从视频采集到显示的延时大约1.8秒

如果使用专用芯片的硬件H264编码,延时可以极大降低。理论上延时做到160ms左右是可以实现的。例如使用NVIDIA 的jetson nx开发套件,实测延时可以达到166ms,参见如下博文:

cyberdog众测报告_pengyouhai的专栏-CSDN博客

RTSP播放器下载地址:

EasyPlayer-RTSP-Windows-电信文档类资源-CSDN下载

5、注意事项

 在下载gstreamer rtsp源码的时候必须选择1.8分支的版本,否则在进行编译的时候会报错:Dependency gstreamer-1.0 found: No found 1.14.5 but need: ‘>= 1.19.0’

完结 

猜你喜欢

转载自blog.csdn.net/pengyouhai/article/details/122595062