记录tx2上安装配置gestermer进而使用gst-rtsp-server

注:首先说明这次的搭建过程使用的是老师自己弄的一块tx2,内核也编译过,所以不确定是否可以适用于其他地方,另外因为这块板子的内核被编译过,造成安装使用过程中出现了许多未知的错误,有可能记录的安装配置过程会有所遗漏,如果此时某个地方报错,建议百度查看是否能解决;

首先在开发板中输入

gst-launch-1.0 --version

可以查看当前开发板自带的gst-launch和GStreamer 的版本,一般安装的各种附件版本最好小于等于当前的版本
注意如果是0.1的版本和1.0的版本使用命令上是有区别的,所以建议最好升级到1.0的版本
查到当前版本后,我首先安装了一般来说需要的依赖库,就输入(这里因为我前期参考了许多帖子,找不到具体有哪些,随便复制粘贴了一份,如有错漏在行修改)

sudo apt-get install build-essential dpkg-dev flex bison autotools-dev automake liborc-dev autopoint libtool gtk-doc-tools
sudo apt-get install libxv-dev libasound2-dev libtheora-dev libogg-dev libvorbis-dev
sudo apt-get install libbz2-dev libv4l-dev libvpx-dev libjack-jackd2-dev libsoup2.4-dev libpulse-dev
sudo apt-get install faad libfaad-dev libfaac-dev
sudo apt-get install libx264-dev libmad0-dev
sudo apt-get install yasm
sudo apt-get install libssl-dev

随后在这个网址https://gstreamer.freedesktop.org/src/中下载配套的附件,我的版本是

gst-launch-1.0 version 1.8.1
GStreamer 1.8.3

所以我配套下载了,可以进行参考

gst-libav-1.80
gst-plugins-0.8.12
gst-plugins-bad-1.8.3
gst-plugins-good-1.8.3
gst-plugins-base-1.8.3
gst-plugins-ugly-1.8.3
orc-0.4.23
gst-rtsp-server-1.8.1

随后对每个附件解压后,使用

sudo ./configure
sudo ./autogen.sh
sudo make
suao make install

的语句进行安装,安装顺序一般是从 base–good–bad—ugly —lbav

如果出现什么错误,肯定是有依赖的附件没装上
比如

sudo apt-get install gtk-doc-tools

如果在安装gst-rtsp-server-1.8.1时,特别要注意,在使用

sudo ./configure
sudo ./autogen.sh

时观察是否有类似这样的语句输出

configure: No package ‘gstreamer-plugins-base-1.0’ found configure:
error: no gstreamer-plugins-base-1.0 >= 1.8.0 (GStreamer Base Plugins)
found configure failed

可以尝试使用下面的语句解决

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

然后重新安装good-bad的安装,在到gst-rtsp-server的文件中运行

sudo ./configure
sudo ./autogen.sh

如果还有上面的提示,可以试试用

sudo apt-get install gstreamer-plugins-base-1.0
sudo apt-get install gstreamer-plugins-bad-1.0
sudo apt-get install gstreamer-plugins-good-1.0
sudo apt-get install gstreamer-plugins-ugly-1.0

等看看是否成功

如果以上都安装好了,没问题了
测试udp传输到本地进行接收显示输入

发送端

gst-launch-1.0 videotestsrc ! video/x-raw,format=I420 ! omxh264enc ! video/x-h264,stream-format=byte-stream ! rtph264pay mtu=1400 ! udpsink host=127.0.0.1 port=5000

接收端

gst-launch-1.0 udpsrc port=5000 ! 'application/x-rtp,encoding-name=(string)H264' ! rtph264depay ! h264parse ! omxh264dec ! nvoverlaysink sync=false async=false 

测试rtsp传输到本地进行接收显示输入

发送端

./test-launch "(videotestsrc ! video/x-raw,format=I420,framerate= 25/1 !  x264enc ! video/x-h264,stream-format=byte-stream ! rtph264pay name=pay0 pt=96)"

接收端

gst-launch-1.0 rtspsrc location=rtsp://127.0.01:8554/test ! rtph264depay ! h264parse ! omxh264dec ! nvoverlaysink sync=false async=false 

在输入发射端和接收端的代码时,还是找一个老师帮忙解决的,因为对于板子编解码的过程完全没有数,查别人的编解码过程是不能帮助正确接收的

在开发板中输入

gst-inspect-1.0 rtph264 

可以查看一些帮助文档

另外在整个实现过程中,如果实在写不来程序,还可以借助wireshark网络调试助手监听是否有数据传输。
也可以用vlc查看是否传输了正确的编码图像,咩有正确传输的时候,在vlc的codec中会显示成奇怪的mp3格式

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值