NVR开发环境搭建
虚拟机安装
Hyper-v
-
Vmware
镜像下载地址 :svn://192.168.20.1/nvr/tools
ubuntu环境配置
sudo apt-get install ssh samba gcc g++ gdb make git automake libtool lrzsz vim
sudo apt-get install nfs-kernel-server unzip
网络配置:设置静态IP地址
nfs配置:
sudo vi /etc/exports
/home/duxj/ *(rw,sync,no_root_squash)
交叉编译工具安装
-
HISI3636SDK 下载:
svn://192.168.20.1/nvr/tools/05 HisiSDK/Hi3536_SDK_V2.0.7.0.tgz
tar –zxf Hi3536_SDK_V2.0.7.0.tgz
cd Hi3536_SDK_V2.0.7.0
./sdk.unpack -
安装交叉编译工具:
HISI发布包提供两种编译工具链arm-hisiv300-linux 和arm-hisiv400-linux,其中armhisiv300-linux 为基于uclibc 的工具链,arm-hisiv400-linux 为基于glibc 的工具链。cd osdrv/opensource/toolchain/arm-hisi400-linux/
tar -xvf arm-hisi400-linux.tar.bz2
sudo ./cross.install
默认安装目录:
/opt/hisi-linux/x86-arm/arm-hisiv400-linux/
Docker
-
概述
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。Docker container 与 VM的区别
-
安装
apt-get update; apt-get install docker.io
-
基本命令
启动,停止,重启
service docker start
service docker stop
service docker restartdocker 创建一个容器
docker run -it -v /docker_test:/NVR --name nvr_docker /bin/bash
-i:允许我们对容器内的 (STDIN) 进行交互
-t:在新容器内指定一个伪终端或终端
-v:是挂在宿机目录, /docker_test是宿机目录,/NVR 是当前docker容器的目录,宿机目录必须是绝对的。
--name: 是给容器起一个名字,可省略,省略的话docker会随机产生一个名字
- 查看启动的容器列表
docker ps
- 列出所有的docker 镜像
docker images
Gstreamer
- 概述
GStreamer是在一个创建流媒体的应用程序框架,采用了基于插件(plugin)和管道(pipeline)的体系结构。其基本设计思想来自于俄勒冈(Oregon)研究生学院有关视频管道的创意, 同时也借鉴了DirectShow的设计思想。 - 安装
- ubuntu 命令安装
gstreamer1.0-alsa gstreamer1.0-crystalhd gstreamer1.0-espeak gstreamer1.0-fluendo-mp3 gstreamer1.0-libav-dbg gstreamer1.0-nice gstreamer1.0-omx-bellagio-config
gstreamer1.0-omx-generic gstreamer1.0-omx-generic-config gstreamer1.0-packagekit gstreamer1.0-plugins-bad-dbg gstreamer1.0-plugins-bad-doc
gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-base-dbg gstreamer1.0-plugins-base-doc gstreamer1.0-plugins-good-dbg gstreamer1.0-plugins-good-doc
gstreamer1.0-plugins-ugly-dbg gstreamer1.0-plugins-ugly-doc gstreamer1.0-pocketsphinx gstreamer1.0-pulseaudio gstreamer1.0-rtsp gstreamer1.0-rtsp-dbg
- 源码安装
svn://192.168.20.1\development\externals_Libs\gstreamer 下载安装脚本。
设置环境变量
source env.sh
运行build.sh 脚本
./build.sh debug | release
- 基本命令
gst-launch-1.0
gstreamer管道建立命令,使用该命令可以组件若干个pipeline形成一条数据流,完成指定的工作。
如:播放 ts文件
gst-launch-1.0 playbin uri=file:./sintel.ts
gst-inspect-1.0
gstreamer组件探测命令,由于gstreamer是注册形式的,当新安装了gstreamer插件后,可以使用gst-inspect命令来探测新加入的pipeline。
gst-inspect后面加上pipeline组件名,可以查看该组件详细信息。
如:
gst-inspect-1.0 filesink
- Hisi3536平台测试
将本地目录arm-hisi-linux 挂在到开发板的/mnt目录下:
mount -t nfs -o nolock 192.168.22.xxx:/home/xxx/arm-hisi-linux/ /mnt
配置环境变量:
export LD_LIBRARY_PATH=/mnt/lib:/mnt/lib/gstreamer-1.0:$LD_LIBRARY_PATH
配置Gstreamer 环境变量:
export GST_PLUGIN_SCANNER=/mnt/libexec/gstreamer-1.0/gst-plugin-scanner
export GST_REGISTRY=/mnt/.gstreamer-1.0/registry.arm.bin
export GST_PLUGIN_SYSTEM_PATH=/mnt/lib/gstreamer-1.0:/mnt/lib
export GST_PLUGIN_PATH=/mnt/lib/gstreamer-1.0
查看filesrc 基本信息:
./gst-inspect-1.0 filesrc