首页 > 其他分享 >环境配置

环境配置

时间:2024-07-12 21:51:51浏览次数:12  
标签:ffmpeg -- make 配置 环境 cd samples HOME

配置c++环境

实验步骤图片仅作参考,以命令行为准

  • 下载安装第三方依赖(opencv,ffmpeg,accllite,presentagent)
  • 配置摄像头
  • 配置i2c
  • 下载测试代码并检验

准备安装

#下载测试代码
cd ${HOME}  #注意是主目录,不是/home
git clone https://gitee.com/ascend/samples.git
#如果无法git clone,则本地下载再上传即可

#解压下载的包
unzip ascend-samples-master.zip #名字可能有出入,以实际为准
#如果unzip不行的化,用jar试试,注意解压时终端的路径,再${home}里

# 以安装用户在任意目录下执行以下命令,打开.bashrc文件。
vi ~/.bashrc  
 
# 如果.bashrc中没有对应内容,在文件最后一行后面添加如下内容,设置必要的环境变量。
export CPU_ARCH=`arch`
export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}  #代码编译时链接第三方库
export LD_LIBRARY_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}/lib:$LD_LIBRARY_PATH  #运行时链接库文件
export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest #CANN软件安装后文件存储路径
#注意!!:latest需要按实际情况更改!不做修改会导致acllite库的编译报错
 
# 执行命令保存文件并退出。
:wq!  
 
# 执行命令使其立即生效。 
source ~/.bashrc 
 
# 创建第三方依赖文件夹
mkdir -p ${THIRDPART_PATH}

# 拷贝公共文件到第三方路径中
cp -r ${HOME}/samples/common ${THIRDPART_PATH}

打开终端,连接Atlas200DK,打开.bashrc文件,将环境变量中的latest都改为5.0.4.alpha005(这里5.0.4.alpha005需要根据实际下载的CANN版本进行修改)

200DK场景还需要执行以下命令拷贝media_mini等so文件以及相关头文件,满足摄像头样例编译需要。(普通用户可能权限不够需要进入root用户进行)

mkdir -p ${INSTALL_DIR}/driver
cp /usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libslog.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libc_sec.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libmmpa.so ${INSTALL_DIR}/driver/
cp /usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver/

安装opencv

sudo apt-get install libopencv-dev

安装ffmpeg

# 下载ffmpeg并解压
cd ${HOME}
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3


 
# 安装ffmpeg
#./configure配置安装会稍微需要一点时间,耐心等待	
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --prefix=${THIRDPART_PATH} 
make -j8
make install


安装acllite

 # 编译并安装acllite
cd ${HOME}/samples/cplusplus/common/acllite/
make -j8 #使用-j8调用cpu的多个核心,加快编译
make install

特别注意!!如果出现以下错误
主要排查两点错误:
1.是否已经修改环境变量中的latest
2.确定cann版本大于等于5.0.4

安装presentagent

# 安装protobuf相关依赖
sudo apt-get install autoconf automake libtool
 
# 下载protobuf源码
cd ${HOME}
git clone -b 3.13.x https://gitee.com/mirrors/protobufsource.git protobuf

 
# 编译安装protobuf
cd protobuf
./autogen.sh
./configure --prefix=${THIRDPART_PATH}
make clean
make -j8
sudo make install
 
# 进入presentagent源码目录并编译
cd ${HOME}/samples/cplusplus/common/presenteragent/proto
${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./
 
# 开始编译presentagnet
cd ..
make -j8
make install

配置摄像头(拍照)

1.修改present相关配置文件。

开发环境中使用ifconfig查看可用ip。并在本机环境(win)下ping 该IP,确认可以ping通。 在开发环境中将scripts/param.conf中的 presenter_server_ip、presenter_view_ip 修改为该IP地址。

2.切换到ascendcamera目录,创建目录用于存放编译文件

#例如,本文中,创建的目录为build/intermediates/host
cd ${HOME}/samples/cplusplus/level1_single_api/5_200dk_peripheral/ascendcamera
mkdir -p build/intermediates/host

3.切换到 build/intermediates/host 目录,执行cmake生成编译文件

cd build/intermediates/host 
make clean #第一次执行的话,因为此前没有make过,不用执行本句
cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE

4.执行make命令,生成的可执行文件main在 ascendcamera/out 目录下。

make

5.运行可执行文件

cd $HOME/samples/cplusplus/level1_single_api/5_200dk_peripheral/ascendcamera/out
./main -i -c 1 -o ./filename.jpg --overwrite

参数说明:

-i:代表获取jpg格式的图片。

-c:表示摄像头所在的channel,此参数有“0”和“1”两个选项,“0“对应“Camera1“,“1“对应 “Camera2“,如果不填写,默认为“0”。

-o:表示文件存储位置,此处output为本地已存在的文件夹名称,filename.jpg为保存的图片名 称,可用户自定义。

--overwrite:覆盖已存在的同名文件。

6.查看结果

运行完成后,会在运行环境的命令行中打印出运行结果,并在将运行结果保存在 $HOME/ascendcamera/out

配置摄像头(录像)

1.开发环境中执行以下命令启动presentserver。

cd $HOME/samples/cplusplus/level1_single_api/5_200dk_peripheral/ascendcamera 
bash scripts/run_presenter_server.sh 

2.本机浏览器中:http://192.168.1.2:7003 (7003:端口号以实际提示的为准,:7003如果出现valid的话,改为:7002试试)

3.运行可执行文件

重新打开一个终端,对于开发环境与运行环境合一部署,执行以下命令切换目录。

cd $HOME/samples/cplusplus/level1_single_api/5_200dk_peripheral/ascendcamera/out

#切换目录后,执行以下命令运行样例。并将ip和xxxx修改为对应的ip和端口号。
#./main -v -c 1 -t 60 --fps 20 -w 704 -h 576 -s ip:xxxx/presentername

./main -v -c 1 -t 60 --fps 20 -w 704 -h 576 -s 192.168.1.2:7003/presentername
#:7003如果出现valid的话,改为:7002

参数说明:

-v:代表获取摄像头的视频,用来在Presenter Server端展示。

-c:表示摄像头所在的channel,此参数 有0”和1两个选项,0对应Camera0,1对应Camera1,如果不填写,默认为0。

-t:表示获取60s的视频 文件,如果不指定此参数,则获取视频文件直至程序退出。

-fps:表示存储视频的帧率,取值范围为 1~20,如果不设置此参数,则默认存储的视频帧率为10fps。

-w:表示存储视频的宽。

-h:表示存储视 频的高。

-s:后面的ip值为启动Presenter Server时文件scripts/param.conf中presenter_server_ip的IP 地址, 此处用192.168.1.2 ;xxxx为Ascendcamera应用对应的Presenter Server服务器的端口号,该端 口号动态变换,比如是7002,7003等,可在命令行输出中查看。

presentername:为在Presenter Server端展示的“View Name“,用户自定义,需要保持唯一,只能为 大小写字母、数字、“_”的组合, 位数3~20,此处可以设置为:mypresent。

4.查看结果

打开presentserver网页界面(打开启动Presenter Server服务时提示的URL即可)。

等待Presenter Agent传输数据给服务端,单击“Refresh“刷新,当有数据时相应的Channel 的 Status变成绿色。

单击右侧对应的View Name(mypresent)链接,查看结果。

标签:ffmpeg,--,make,配置,环境,cd,samples,HOME
From: https://www.cnblogs.com/qzt2cool/p/18299429

相关文章

  • EtherCAT总线耦合器:在欧姆龙Sysmac Studio软件里的配置步骤
    EtherCAT总线适配器XD7000作为网络接口,连接主控制器(如PLC)和其他EtherCAT设备,实现实时、高效的数据交换。通过EtherCAT总线耦合器,用户能够将所有设备连接在一个主网络上,并通过一个以太网端口进行控制。EtherCAT总线耦合器能够自动检测和确定不同的设备连接方式,从而实现快速、直接和......
  • 【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器
    ​省流目录:适用于博客建站(2-4G)、个人开发/小型游戏[传奇/我的世界/饥荒](4-8G)、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器(16-64G)1.京东云-专属活动 官方采购季专属活动地址:京东云-618采购季服务器活动专区https://3.cn/20-J4jjX京东云又双叒降价了!活动页大改,增加两个大......
  • 0基础_永磁同步电机FOC(矢量控制)实践快速入门(一)——通过DSP28335配置SPI与AD2S1210通信
    AD2S1210.cADSP28335配置SPA模块与AD2S1210通信读取旋转变压器反馈的位置、速度信息欢迎大家进群领取电机控制,嵌入式学习资料!程序文件也在群里哦目录文章目录前言一、位置角是什么,为什么要获取位置角?二、如何获取位置角?三、AD2S1210介绍四、如何通过AD2S1210进行旋......
  • Django静态文件系统之meida文件,Django配置文件介绍,RBAC权限系统
    ⅠDjango静态文件系统之meida文件【一】问题引入一般常用的静态文件:static但是,媒体文件:图片,视频,音频……会随着用户改变而改变,不应该作为静态文件来使用应该是媒体资源于是Django提供了另一种静态文件语法meida文件【二】配置使用在Django的settings里面DEBUG—>开......
  • 私服配置说明
    私服配置说明以下私服地址和密码仅为示例,需要根据实际情况进行替换访问私服:http://192.168.150.101:8081访问密码:admin/admin使用私服,需要在maven的settings.xml配置文件中,做如下配置:需要在servers标签中,配置访问私服的个人凭证(访问的用户名和密码)<server>  ......
  • 【VMware ESXi】使用PowerCLI脚本批量备份ESXi主机的配置文件。
    根据VMwareKB2042141知识库文章,SSH登录到ESXi主机,可以使用下面的命令用于备份和还原ESXi主机的配置文件。但是,这个方法需要手动登录到每个ESXi主机,并通过浏览器链接下载配置文件,显然不是很方便。备份vim-cmdhostsvc/firmware/sync_configvim-cmdhostsvc/firmwar......
  • Maven的setting.xml镜像和私服配置.md
    <repository>和<mirror>在Maven中,和配置项分别出现在不同的配置文件中,并且它们有各自的作用和执行顺序。以下是这些配置项的详细说明和它们之间的关系:<repository>inpom.xml位置:位于项目的pom.xml文件中。作用:定义了特定项目构建时使用的远程仓库,通常用于解决项目依赖的......
  • 2024-07-12 vue项目中 运行 npm run build 或 yarn build 打包 没有生成 xx.es.js 文
    我在写一个ui组件库,在打包时发现dist文件夹里没有生成我想要的xx.es.js文件,我查看了我的vue项目中的vue.config.js文件,发现build.lib没有指定输出的文件名解决方案:配置项目中的vue.config.js文件,参考我的......
  • Visual Studio 2013俄语环境基石:‘mfc120rus.dll’解析与丢失修复全案
    mfc120rus.dll是一个动态链接库(DLL)文件,与MicrosoftFoundationClasses(MFC)相关。MFC是一个广泛使用的C++类库,用于简化Windows应用程序的开发。mfc120rus.dll特别地,是MFC库的俄语版本,用于支持俄语字符集和语言环境,它是MFC12.0版本的一部分,常用于VisualStudio2013中编译的......
  • 【实操记录】MySQL主从配置
    本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署"■■主从配置■master授权同步账户CREATEUSER'repl'@'10.19.238.2......