当前位置: 首页 > news >正文

怎样做公司网站推广网络优化工程师前景如何

怎样做公司网站推广,网络优化工程师前景如何,怎么加入社交电商平台,wordpress怎么改标题[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官…

[嵌入式AI从0开始到入土]嵌入式AI系列教程

注:等我摸完鱼再把链接补上
可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。

第1期 昇腾Altas 200 DK上手
第2期 下载昇腾案例并运行
第3期 官方模型适配工具使用
第4期 炼丹炉的搭建(基于Ubuntu23.04 Desktop)
第5期 炼丹炉的搭建(基于wsl2_Ubuntu22.04)
第6期 Ubuntu远程桌面配置
第7期 下载yolo源码及样例运行验证
第8期 在线Gpu环境训练(基于启智ai协作平台)
第9期 转化为昇腾支持的om离线模型
第10期 jupyter lab的使用
第11期 yolov5在昇腾上推理
第12期 yolov5在昇腾上应用
第13期_orangepi aipro开箱测评
第14期 orangepi_aipro小修补含yolov7多线程案例
第15期 orangepi_aipro欢迎界面、ATC bug修复、镜像导出备份
第16期 ffmpeg_ascend编译安装及性能测试
未完待续…


文章目录

  • [嵌入式AI从0开始到入土]嵌入式AI系列教程
  • 前言
  • 一、卸载ffmpeg
  • 二、前置依赖安装
    • 1、libx264编码器
    • 2、libx265编码器
    • 3、fdk-aac
    • 4、lame
    • 5、speex
  • 三、获取源码
  • 四、编译安装
    • 1、添加环境变量
    • 2、编译配置
    • 3、编译安装
    • 4、验证编码器是否可用
  • 五、性能测试
  • 六、问题
    • 1、安装x265时找不到numa
    • 2、找不到ascend相关的编码器
    • 3、fftools/ffmpeg_opt.c:23:10: fatal error: csignal: No such file or directory
    • 4、xxx.so no found
      • 1、添加环境变量
      • 2、配置动态链接库
  • 总结


前言

注:本文基于香橙派24.02.27日ubuntu_desktop镜像
镜像预装的ffmpeg是4.5.4版本,h265解码1080*1080的mp4视频帧数低至0.8帧。几乎处于不可用的状态。启用h265_ascend编解码器后,能够凭借libx265编解码器不到一半的cpu利用率实现超过20帧的成绩。
镜像预装ffmpeg情况如下,但是没有h265编码器。
在这里插入图片描述
本文测试视频信息如下,统一不处理音频数据。
在这里插入图片描述

ffmpeg -i test.mp4 -s 1920*1080 -c:v libx264 -an out.264

用时3分38秒,cpu利用率几乎全程100%

一、卸载ffmpeg

sudo apt --purge remove ffmpeg
ffmpeg -version	#如下图所示即为卸载成功

二、前置依赖安装

libx264和libx265可以不安装,这里是为了对性能做对比。

1、libx264编码器

没什么好说的,照抄

wget https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2
tar jxf x264-master.tar.bz2
cd x264-master
./configure --prefix=/usr --enable-shared --disable-asm

在这里插入图片描述

make -j4
sudo make install
x264 

出现如下提示表示安装成功
在这里插入图片描述

2、libx265编码器

这里我使用的是最新的版本,但是需要修改几个地方,否则配置的时候就会报错。

wget https://www.x265.org/files/x265_v3_3.tar.gz
tar -xf x265_3.3.tar.gz 
cd x265_3.3/build/linux

这里需要修改几个地方,否则配置的时候就会报错。

vim ../../source/CMakeLists.txt
#43行添加aarch64
set(ARM_ALIASES armv6l armv7l aarch64)

在这里插入图片描述
67-75行这里替换整段
在这里插入图片描述

elseif(ARMMATCH GREATER "-1")if("${SYSPROC}" STREQUAL "aarch64")message(STATUS "Detected aarch64 target processor")set(AARCH64 1)add_definitions(-DX265_ARCH_AARCH64=1)else()if(CROSS_COMPILE_ARM)message(STATUS "Cross compiling for ARM arch")else()set(CROSS_COMPILE_ARM 0)endif()message(STATUS "Detected ARM target processor")set(ARM 1)add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1)endif()

接着安装两个包

sudo apt-get install libnuma-dev
sudo apt-get install nasm

接着是是两个包名的问题

vim ../../source/cmake/FindNasm.cmake
#23行
find_package_handle_standard_args(Nasm
vim ../../source/cmake/FindNuma.cmake

将21,26,32,37,41,43行的NUMA改为Numa,修改后如图所示。
在这里插入图片描述

再安装一个包,不然不会出现配置界面

sudo apt-get install cmake-curses-gui
./make-Makefiles.bash

如果上面配置正确,会弹出如下配置界面,请参考下图配置,OFF的选项看需求开启,ON的不要动,会导致编译失败。
在这里插入图片描述
这里使用方向键移动,空格开启/关闭选项,修改完成后,按c配置,确认输出信息如下
此处如果出现libnuma找不到的情况,看问题区第一条。
在这里插入图片描述
按e,g完成配置。
配置完成后,编译安装

make -j4
sudo make install
x265 #验证安装

在这里插入图片描述

3、fdk-aac

fdk-aac 是一个高效、高质量的开源音频编解码器,它实现了 MPEG 高级音频编解码器(AAC)的标准。

wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-2.0.3.tar.gz
tar -zxf fdk-aac-2.0.3.tar.gz
cd fdk-aac-2.0.3
sudo apt-get install autoconf
sudo apt-get install libtool
./autogen.sh
./configure --enable-shared  CFLAGS=-fPIC

配置成功,你将看到如下提示信息
在这里插入图片描述

make -j4
sudo make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/	#建议加到.bashrc里

4、lame

LAME 是一个开源的 MP3 编码器,它的名字最初是作为“LAME Ain’t an MP3 Encoder”的递归缩写。尽管名字中暗示它不是一个 MP3 编码器,但实际上 LAME 是一个非常流行和广泛使用的 MP3 编码库和程序。它允许用户将音频文件转换为 MP3 格式,并提供广泛的编码选项来调整压缩效率和音频质量。

wget https://zenlayer.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar -zxf lame-3.100.tar.gz
cd lame-3.100
./configure --enable-shared
make -j4
sudo make install

5、speex

Speex 是一个开源的音频编解码器,专门设计用于处理语音信号。Speex 非常适合实时通信应用,如VoIP和视频会议系统,因为它可以处理非常短的音频帧,减少传输延迟,Speex 包括噪声抑制、回声消除和增益控制等语音增强功能。

wget https://ftp.osuosl.org/pub/xiph/releases/speex/speex-1.2.1.tar.gz
tar -zxf speex-1.2.1.tar.gz
cd speex-1.2.1
./configure 
make -j4
sudo make install

三、获取源码

这里使用的是昇腾的官方仓库,除了版本有点老,是4.4.1,现在都6.1了。后期我试试移植过去。

git clone https://gitee.com/ascend/mindxsdk-referenceapps.git

四、编译安装

ASCEND_HOME_PATH这个是cann自带的,指向/usr/local/Ascend/ascend-toolkit/latest

1、添加环境变量

这一步能有效解决下面extra-cflagsextra-ldflags报错的问题。

source /usr/local/Ascend/ascend-toolkit/set_env.sh
export LD_LIBRARY_PATH=/usr/lib:/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:$LD_LIBRARY_PATH

2、编译配置

cd mindxsdk-referenceapps/mxVision/Ascendffmpeg
chmod +x ./configure
chmod +x ./ffbuild/*.sh
#除前5个配置外,其余看需求设置
./configure \--prefix=/usr \--enable-shared \--extra-cflags="-I${ASCEND_HOME_PATH}/acllib/include" \--extra-ldflags="-L${ASCEND_HOME_PATH}/aarch64-linux/lib64" \--extra-libs="-lacl_dvpp_mpi -lascendcl" \--enable-ascend \--enable-gpl \--enable-nonfree \--enable-ffplay \--enable-libfdk-aac \--enable-libmp3lame \--enable-libx264 \--enable-libx265 \--enable-filter=delogo \--enable-debug \--disable-optimizations \--enable-libspeex \--enable-shared \--enable-pthreads \--enable-version3

从这开始就是噩梦,你会发现日志中h264_ascendh265_ascend这俩编解码器都是enable,enable hwaccels中也有h264_ascend。但是编译后就是没有的情况,或者就是存在,但是疯狂报错。解决办法看问题区第2条

3、编译安装

make -j$(nproc)

不出意外的话又要出意外了
在这里插入图片描述
直接看问题区第3点

sudo make install

在这里插入图片描述
到这里安装算完成了,但很可能会有类似找不到libfdk-aac.so.2等的报错,看问题区第4点。

4、验证编码器是否可用

ffmpeg -encoders | grep ascend
ffmpeg -decoders | grep ascend
ffmpeg -hwaccels | grep ascend

确认出现图中的ascend编码器
在这里插入图片描述

五、性能测试

依旧是我们开头的test.mp4视频。

#h264编解码测试
ffmpeg -i test.mp4 -s 1920*1080 -c:v libx264 -an out1.264
ffmpeg -hwaccel ascend -i test.mp4 -s 1920*1080 -c:v h264_ascend -an out_ascend.264#h265编解码测试
ffmpeg -i test.mp4 -s 1920*1080 -c:v libx265 -an out.265
ffmpeg -hwaccel ascend -i test.mp4 -s 1920*1080 -c:v h265_ascend -an out_ascend.265

结果如下

编解码器用时
h2643分39秒
h264_ascend1分39秒
h26540分49秒
h265_ascend1分39秒

实测在h265编码环节,ascend硬件编解码有大约25倍的提升。
注意:这个数据还不是ascend硬件编解码器的极限,全程平均cpu在60%左右,而libx264或libx265几乎跑满了cpu。

六、问题

1、安装x265时找不到numa

这里有两种方案

  1. 检查x265_3.3/source/cmake/FindNuma.cmake这个文件中的NUMA是否被全部替换为了Numa,至少我上文提到的几行必须更改
  2. x265_3.3/build/linux目录下执行以下命令,指定Numa路径。
cmake -D Numa_INCLUDE_DIR=/usr/include/libnuma -D Numa_LIBRARY=/usr/lib/libnuma.so -D Numa_ROOT_DIR=/usr .

2、找不到ascend相关的编码器

这里我也是查了很久,甚至看了N长的编译日志(日志中没有出现ascend相关的信息),最后发现需要在./configure之前添加以下环境变量

export LD_LIBRARY_PATH=${ASCEND_HOME_PATH}/acllib/lib64/:$LD_LIBRARY_PATH	#建议使用下面的绝对路径
export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64/:$LD_LIBRARY_PATH

3、fftools/ffmpeg_opt.c:23:10: fatal error: csignal: No such file or directory

在这里插入图片描述
将这两个文件的报错的地方的csignal改为signal.h

sudo apt-get install build-essential
vim fftools/ffmpeg_opt.c
vim fftools/ffmpeg.c

4、xxx.so no found

这里以libfdk-aac.so.2为例

find / -name 'libfdk-aac.so.2'

我们查到这个文件在/usr/local/lib目录,接着就有两种方案了,推荐第二种,这样所有用户都可以使用。

1、添加环境变量

export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

2、配置动态链接库

sudo vim /etc/ld.so.conf
#将我们搜索到的路径加入其中

在这里插入图片描述

sudo ldconfig

总结

以上就是ffmpeg启用ascend硬件编辑器的相关过程,当然,要想压榨极限性能,建议使用DVPP,不过就是没有这么方便罢了。

http://www.ritt.cn/news/10115.html

相关文章:

  • 自建站网站58百度搜索引擎
  • 如何建立一个论坛网站广州seo优化电话
  • 固安县城乡和住房建设局网站樱花bt引擎
  • 关于做摄影网站郑州seo外包顾问
  • 做网站带微好吗网络优化工程师工资
  • smartgov政府网站管理系统破解版竞价排名推广
  • 张家港网站设计制作自己的网站怎么推广
  • 做电影网站怎么盈利网页自动点击软件
  • 兴化网站建设百度推广在哪里
  • 新乡网站的建设色盲测试图 考驾照
  • 手机网站制作费百度平台商家联系方式
  • 客户端 网站开发 手机软件开发网络优化初学者难吗
  • 香港空间电影网站不用备案网站推广平台
  • 做网站一万外链免费发布平台
  • 手机网站用什么语言开发seo广告优化
  • 开展网络营销的企业seo技术培训教程
  • 东莞商贸公司寮步网站建设价格东莞免费网站建设网络营销
  • 个人站长还有什么类型的网站可以做什么是sem推广
  • 如何做网站的网页设计网站大全
  • 网站开发武胜招聘seo行业
  • 海口网站制作案例最新域名解析
  • 江门网站推广优化网页设计html代码大全
  • 济南正规做网站公司九江seo
  • 酒类网站建设今日油价最新
  • 政府网站建设领导讲话稿自助搭建平台
  • 网站排名按天付费微帮推广平台怎么加入
  • 服务器和域名如何做网站seo优化网站的注意事项
  • 网站建设和淘宝店装修是不是一样今日小说排行榜百度搜索风云榜
  • 做网站 中介网络宣传推广方案范文
  • 买服务器做网站主机免费域名注册二级域名