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

wordpress+信息流成都seo

wordpress+信息流,成都seo,郑州外贸网站建设公司排名,网站css代码工作小计-GPU编码以及依赖库 已经是第三篇关于编解码的记录了。项目中用到GPU编码很久了,因为yuv太大,所以编码显得很重要。这次遇到的问题是环境的搭建问题。需要把开发机上的环境放到docker中,以保证docker中同样可以进行GPU的编码。 1 定…

工作小计-GPU编码以及依赖库

已经是第三篇关于编解码的记录了。项目中用到GPU编码很久了,因为yuv太大,所以编码显得很重要。这次遇到的问题是环境的搭建问题。需要把开发机上的环境放到docker中,以保证docker中同样可以进行GPU的编码。

1 定位问题

docker是算法部门提供的,天然带了cuda,gpu驱动等环境。但是代码调用解码器时,未找到对应的硬解码器。
定位问题,先确定是否真的不支持编码器。

查看库是否支持GPU

strings libavcodec.so | grep -i cuda

在这里插入图片描述
看到很多cuda输出,最重要的还是这个编译选项,可以看到是开启了对应的cuda,nvenc,cuvid都有的

--prefix=/opt/ffmpeg --enable-shared --enable-ffplay --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --enable-gpl --extra-cflags='-I/usr/local/cuda/include /usr/local/cuda-11.1/targets/x86_64-linux/include' --extra-ldflags='-L/usr/local/cuda/lib64 -L/usr/local/cuda-11.1/targets/x86_64-linux/lib' --disable-x86asm --extra-cflags=-fPIC --extra-cxxflags=-fPIC --enable-libmfx --enable-nonfree --enable-encoder=h264_qsv --enable-decoder=h264_qsv --enable-encoder=hevc_qsv --enable-decoder=hevc_qsv --prefix=/opt/ffmpeg --libdir=/opt/ffmpeg/lib --extra-cflags=-I/opt/intel/mediasdk/include --extra-ldflags=-L/opt/intel/mediasdk/lib64

查看运行时是否支持硬件解码

手头有现成h265文件,

# 得到yuv文件
ffmpeg -i input.h265 -c:v rawvideo -pix_fmt yuv420p output.yuv
# 得到MP4文件
ffmpeg -i input.h265 -c:v libx264 -crf 23 -c:a aac -strict experimental output.mp4# 对yuv进行h264/hevc(h265) 硬件编码
ffmpeg -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 30 -i output.yuv -c:v hevc_nvenc output.mp4
ffmpeg -f rawvideo -pix_fmt yuv420p -s 3840x2160 -r 30 -i output.yuv -c:v h264_nvenc output.mp4

果然硬编码报错了
可见h264和h265的硬编都报错了

[h264_nvenc @ 0x258a880] Cannot load libnvidia-encode.so.1
[hevc_nvenc @ 0x258a880] The minimum required Nvidia driver for nvenc is (unknown) or newer

2 解决问题

直接搜宿主机的环境
在这里插入图片描述
i386-linux-gnu 是32位环境的,直接忽略。去对应的文件夹找nvidia对应的库

在这里插入图片描述
和docker中的对比下
在这里插入图片描述
果然查了很多,因为docker中的是深度学习的环境,和我们的硬件编码库肯定会有偏

拷贝过去,仍然报错。最终定位到cuvid的问题。坑爹的是,ffmpeg缺少硬件编码缺少cuvid的时候,同样会报错缺少 libnvidia-encode.so的问题

在这里插入图片描述
可以看到nvenc和cuvid这两个库分别对应硬件的编解码,之前的项目用硬解比较多,而这边则是硬编比较多

libnvcuvid.so 是NVIDIA Video Codec SDK中的一个库文件,它提供了用于解码和处理视频的功能。它允许应用程序使用NVIDIA GPU来加速视频解码,从而提高视频处理性能。
libnvidia-encode.so 是NVIDIA Video Codec SDK中的另一个库文件,它提供了用于编码和处理视频的功能。它允许应用程序使用NVIDIA GPU来加速视频编码,从而提高视频处理性能。

这两个库文件都是NVIDIA提供的用于视频处理的工具,可以在支持NVIDIA GPU的系统上使用。它们为开发人员提供了使用GPU进行视频解码和编码的接口和功能,以实现更高效的视频处理和加速。
至此,问题解决。

3 docker相关

额外记录一些docker相关的理解。
docker想要调用gpu和必定要和宿主机中的gpu进行通信(肤浅的理解可以是各自安装了 nvidia-container-toolkit),完成一次远程调用/中转调用。这个调用之前是由nvidia-docker完成的。高版本的docker集成了nvidia-docker,所以只要如入–gpu 参数就好。只要在容器中的nvidia-smi正常之后,就基本差不多了,因为是进行了一次交互。但是驱动,指的是调用gpu的指令,*.so这些,还是要在docker中安装的,不然即没有办法和宿主机通讯,也没有办法被上层应用调用。

nvidia-container-cli --version # 查看是否安装了对应的版本

在容器中使用 GPU,通常需要在宿主机和容器中都安装 NVIDIA Container Toolkit。在宿主机中安装 NVIDIA Container Toolkit 用于管理宿主机上的 GPU 资源,而在容器中安装 NVIDIA Container Toolkit 则用于在容器内访问这些 GPU 资源。
宿主机
https://github.com/NVIDIA/k8s-device-plugin#preparing-your-gpu-nodes

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-docker2

容器

# 基于一个带有 NVIDIA 驱动的基础镜像构建
FROM nvidia/cuda:11.0-base# 安装 NVIDIA Container Toolkit 相关的软件包
RUN apt-get update && apt-get install -y nvidia-container-toolkit# 设置 NVIDIA 运行时环境变量
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility# 验证 NVIDIA GPU 配置是否正确
RUN nvidia-smi# 运行你的应用程序或服务
CMD ["/your/app/command"]
http://www.15wanjia.com/news/8160.html

相关文章:

  • web用框架做网站seo免费入门教程
  • 个人网站备案内容长沙疫情最新情况
  • 企业网站源代码下载关键字c语言
  • seo网站优化推广怎么做一个域名大概能卖多少钱
  • 做电影平台网站怎么赚钱的百度搜索资源
  • 精品资料网站网络推广营销技巧
  • 大连h5建站网站优化的方法
  • 盗版网站是如何做的广州全网推广
  • dede中英文企业网站网站服务器查询
  • 大气网站图企业营销策略分析论文
  • 北京网络营销岗位数量惠州百度seo
  • 网站建设是属于b2网络营销软文范例500字
  • 成都快型网络公司排名高级seo是什么职位
  • 楚雄建网站百度新闻头条新闻
  • 石家庄网站建设联系方式淄博做网站的公司
  • 做网站怎么提取视频无广告下载百度搜索
  • 企业为什么做网站 图片自然搜索优化
  • 自己做网站必须要学哪些英文外链seo兼职
  • 夏天做那些网站能致富百度推广哪种效果好
  • 做外贸用哪些网站百度地图优化排名方法
  • 视频做网站背景百度指数搜索热度大学
  • 网站开发说明书模板电脑培训学校在哪里
  • 优秀个人网站主页优化大师如何删掉多余的学生
  • 用国外服务器做赌博网站靠谱的影视后期培训班
  • 网络建设的流程网站关键词挖掘工具爱站网
  • 山东企业网站建设报价市场监督管理局投诉电话
  • 国内好的网站设计互联网营销师报名
  • asp网站建设代码seo顾问能赚钱吗
  • 启东做网站郑州厉害的seo顾问
  • 响应式网站是做多大尺寸seo与网络推广的区别和联系