2018-06-27

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的区别

    docker.png
  • 安装

    apt-get update; 
    apt-get install docker.io
    
  • 基本命令

    1. 启动,停止,重启
      service docker start
      service docker stop
      service docker restart

    2. docker 创建一个容器

     docker run -it -v /docker_test:/NVR  --name nvr_docker   /bin/bash

-i:允许我们对容器内的 (STDIN) 进行交互
-t:在新容器内指定一个伪终端或终端
-v:是挂在宿机目录, /docker_test是宿机目录,/NVR 是当前docker容器的目录,宿机目录必须是绝对的。
--name: 是给容器起一个名字,可省略,省略的话docker会随机产生一个名字

  1. 查看启动的容器列表
      docker ps
  1. 列出所有的docker 镜像
     docker images

Gstreamer

  • 概述
    GStreamer是在一个创建流媒体的应用程序框架,采用了基于插件(plugin)和管道(pipeline)的体系结构。其基本设计思想来自于俄勒冈(Oregon)研究生学院有关视频管道的创意, 同时也借鉴了DirectShow的设计思想。
  • 安装
    1. 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   
  1. 源码安装
    svn://192.168.20.1\development\externals_Libs\gstreamer 下载安装脚本。
    设置环境变量
       source  env.sh   

运行build.sh 脚本

     ./build.sh debug | release
  1. 基本命令
    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
  1. 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

你可能感兴趣的:(2018-06-27)