? ? ? Deepstream安装后除了提供了编译好的二进制版的deepstream-app(安装在/usr/bin/下)外还在在samples下提供了deepstream-app等sample app的源码,平时如果只需直接使用deepstream-app跑跑做实验的话(例如查看Deepstream的版本,执行deepstream-app --version),直接执行deepstream-app -c <config-file>即可把deepstream-app跑起来,但是如果需要在deepstream-app里做自己的修改增加某些功能实验或者借助在deepstream-app增减代码或者增加打印代码来理解deepstream的工作原理,就需要自己编译出deepstream-app,如果想直接执行时执行的是自己编译出来的deepstream-app,那么还需要把自己编译出来的deepstream-app拷贝到/usr/bin/下覆盖Deepstream安装的原版deepstream-app。
? ? ? Deepstream里使用了json-glib,而json-glib在Ubuntu下没有可以安装的deb包,所以需要自己编译,而编译json-glib又需要meson和ninja的支持,所以可能需要按照一下步骤执行:?
sudo?apt-get update && sudo apt-get?install meson ninja-build
git clone https://github.com/ebassi/json-glib
cd json-glib
mkdir _build && meson _build .
ninja -C _build
ninja -C _build test
ninja -C _build install
然后 cd /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-app,修改这个目录下的Makefile文件,增加gstreamer和glib-2.0在jetson上的路径以及新安装的json-glib路径:
? ?CFLAGS+= -I./ -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 \
? ? -I/usr/lib/aarch64-linux-gnu/glib-2.0/include \ ? ? -I/usr/local/include/json-glib-1.0 \
? ??-I../../../includes?\ ? ? -I../../apps-common/includes -DDS_VERSION_MINOR=0 -DDS_VERSION_MAJOR=5
然后对deepstream-app的源码做自己所需的修改后,执行下面的命令进行编译:??
? ?make -j?
将编译出来的deepstream-app二进制文件拷贝到/usr/bin/下即可在Nano上任何地方都可以直接执行自己编译的deepstream-app.
|