Docker调用Intel集显实现FFmpeg硬解码
文章目录
- Docker调用Intel集显实现FFmpeg硬解码
- 参考
- FFmpeg 集成qsv
- 方式一 容器完成所有步骤
- 方式二 容器完成部分步骤
- 方式三 dockerfile部署
Docker调用Intel集显实现FFmpeg硬解码
参考
ffmpeg_qsv_docker拉取该镜像可以实现FFmpeg集成vaapi的硬加速,通过dockerfile文件可以看出缺少qsv所依赖的MediaSDK,虽然FFmpeg已支持qsv的硬件加速,但安装所需要的依赖,无法正常使用

FFmpeg 集成qsv
方式一 容器完成所有步骤
只是构建基础镜像,在docker容器中进行FFmpeg的编译安装
详情可点击FFmpeg集成qsv的编译安装
方式二 容器完成部分步骤
拉去参考当中的镜像,创建容器,进入容器,完成MediaSDK的安装且对FFmpeg进行重新编译安装
详情可按照FFmpeg集成qsv的编译安装从MediaSDK开始安装的部分
方式三 dockerfile部署
根据宿主机编译安装过程编写的dockerfile
FROM ubuntu:jammy
ARG DEBIAN_FRONTEND=noninteractive
ARG MediaSDK_TAGVERSION=21.2.3
ENV LIBVA_DRIVER_NAME iHD
ENV PKG_CONFIG_PATH /usr/lib/x86_64-linux-gnu/pkgconfig/
ENV LIBVA_DRIVERS_PATH /usr/lib/x86_64-linux-gnu/dri/
ENV LD_LIBRARY_PATH /opt/intel/mediasdk/lib/RUN apt-get update && apt-get install -y -q locales libmfx1 libmfx-tools libva-dev libmfx-dev intel-media-va-driver-non-free vainfo git cmake pkg-config meson libdrm-dev automake libtool yasm wget vim gcc && wget https://github.com/Intel-Media-SDK/MediaSDK/archive/refs/tags/intel-mediasdk-$MediaSDK_TAGVERSION.tar.gz && tar -zxvf intel-mediasdk-$MediaSDK_TAGVERSION.tar.gz && cd MediaSDK-intel-mediasdk-$MediaSDK_TAGVERSION && mkdir build && cd build && cmake .. && make && make install && cd ../../ && git clone https://github.com/ffmpeg/ffmpeg && cd ffmpeg && ./configure --arch=x86_64 --disable-yasm --enable-vaapi --enable-libmfx && make && make installENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
RUN echo "C.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen
WORKDIR /root
注:尝试过其他版本的ffmpeg,虽然qsv运行不报错,但并没有成功调用gpu,暂时还未找到具体原因;目前选用master分支,存在dockerfile版本还不够灵活问题,后续若有找到问题会及时补充
如果qsv没有成功调用gpu,重新编译一次ffmpeg试试
相关文章:
Docker调用Intel集显实现FFmpeg硬解码
文章目录Docker调用Intel集显实现FFmpeg硬解码参考FFmpeg 集成qsv方式一 容器完成所有步骤方式二 容器完成部分步骤方式三 dockerfile部署Docker调用Intel集显实现FFmpeg硬解码 参考 ffmpeg_qsv_docker拉取该镜像可以实现FFmpeg集成vaapi的硬加速,通过dockerfile文…...
端到端模型(end-to-end)与非端到端模型
一、端到端(end to end) 从输入端到输出端会得到一个预测结果,将预测结果和真实结果进行比较得到误差,将误差反向传播到网络的各个层之中,调整网络的权重和参数直到模型收敛或者达到预期的效果为止,中间所…...
uniApp封装一个滑块组件
最近 项目中有一个需求 PC端动态设计的表单 移动端要能渲染出来 那么 就要去找到对应的组件 而其中 没有的 就包括滑块 没有又能怎么办 只能自己封装一个 我们直接上代码 <template><view class"u-slider" tap"onClick" :class"[disabled…...
运动基元(二):贝塞尔曲线
贝塞尔曲线是我第一个深入接触并使用于路径规划的运动基元。N阶贝塞尔曲线具有很多优良的特性,例如端点性、N阶可导性、对称性、曲率连续性、凸包性、几何不变性、仿射不变性以及变差缩减性。本章主要介绍贝塞尔曲线用于运动基元时几个特别有用的特性。 一、贝塞尔曲线的定义 …...
Android 11.0 关于Launcher3中调用截图功能总是返回null的解决方案
1.1概述 在11.0的系统产品开发中,在某些时候需要调用截图接口来进行截屏功能实现,而在Launcher3中发现调用系统截屏接口SurfaceControl.screenshot进行截图的时候始终为null, 获取不到系统当前页面的截屏功能,所以需要找到当前截屏失败的原因然后来实现截屏功能的实现,下面来…...
random随机数
random随机数 1.概述 random用来生成一些随机数,下面介绍random模块提供的方法根据需求生成不同的随机数。 2.random常用操作 2.1.random默认随机数 random()函数返回一个随机的浮点值,默认返回值范围在0 < n < 1.0区间 import randomfor i …...
【金三银四系列】Spring面试题-上(2023版)
Spring面试专题 1.Spring应该很熟悉吧?来介绍下你的Spring的理解 有些同学可能会抢答,不熟悉!!! 好了,不开玩笑,面对这个问题我们应该怎么来回答呢?我们给大家梳理这个几个维度来回答 1.1 Spring的发展历程 先介绍…...
linux基本功系列之tar命令实战
文章目录前言一. tar命令介绍二. 语法格式及常用选项三. 参考案例3.1 仅打包不压缩3.2 打包后使用调用压缩命令进行压缩3.3 列出文件的内容3.4 追加文件到tar命令中3.5 释放文件到指定的目录四 . 各种压缩方式的比较总结前言 大家好,又见面了,我是沐风晓…...
Prometheus服务发现
Prometheus服务发现介绍 Prometheus默认是采用pull的方式拉取监控数据的,每一个被抓取的目标都要暴露一个HTTP接口,prometheus通过这个接口来获取相应的指标数据,这种方式需要由prometheus-server决定采集的目标服务器有哪些,通过…...
【Spring6源码・MVC】请求处理流程源码解析
上一篇《【Spring6源码・MVC】初始化registry,完成url和controller的映射关系》我们知道,在IOC容器加载的同时,初始化了registry这个HashMap,这个HashMap中存放了请求路径和对应的方法。当我们请求进来,会通过这个regi…...
elasticsearch term match 查询
1. 准备数据 PUT h1/doc/1 {"name": "rose","gender": "female","age": 18,"tags": ["白", "漂亮", "高"] }PUT h1/doc/2 {"name": "lila","gender&quo…...
canal使用说明:MySQL、Redis实时数据同步
1. canal简介 canal是阿里开源的数据同步工具,基于bin log可以将数据库同步到其他各类数据库中,目标数据库支持mysql,postgresql,oracle,redis,MQ,ES等 canal分成服务端deployer和客户端adapter,我们可以部署多个,同时为了方便管…...
计算机视觉框架OpenMMLab开源学习(三):图像分类实战
前言:本篇主要偏向图像分类实战部分,使用MMclassification工具进行代码应用,最后对水果分类进行实战演示,本次环境和代码配置部分省略,具体内容建议参考前一篇文章:计算机视觉框架OpenMMLab开源学习&#x…...
awk命令
一.介绍 awk是专门为文本处理设计的编程语言,是一门数据驱动的编程语言。与sed类似,都是以数据驱动的行处理软件,主要用于数据扫描,过滤和汇总。数据可以来自于标准输入,管道或者文件。 二.语法 awk是一种处理文本文件…...
LocalDateTime获取时间的年、月、日、时、分、秒、纳秒
如何把String/Date转成LocalDateTime参考String、Date与LocalDate、LocalTime、LocalDateTime之间互转 String、Date、LocalDateTime、Calendar与时间戳之间互相转化参考String、Date、LocalDateTime、Calendar与时间戳之间互相转化 方法介绍 getYear() 获取日期的年 getMon…...
MoveIT Rviz和Gazebo联合仿真
文章目录环境安装概述ros_control框架ros_control数据流文件配置附加工具故障问题解决参考接前两篇:ROS MoveIT1(Noetic)安装总结 Solidworks导出为URDF用于MoveIT总结(带prismatic) MoveIT1 Assistant 总结 环境 Ubu…...
ESP32S2(12K)-DS18B20数码管显示温度
一、物料清单: NODEMCU-32-S2 (ESP32-12K)四段数码管(共阴)DS18B20(VCC/DQ/GND)Arduino-IDE 2.0.3二、实现方法及效果图: 2.1 引用库 // #include <OneWire.h> //可以不引入,因为DallasTemperature.h中已经引入了OneWire.h #include <DallasTemperature.h>#…...
linux栈溢出定位
一、编译选项定位堆栈溢出 来源:堆栈溢出检测机制 - SkrSky - 博客园 1、栈溢出可能打印 unhandled level 1 translation fault (11) at 0x7f8d0347, esr 0x92000005 2、栈溢出保护机制 gcc提供了栈保护机制stack-protector(编译选项-fstack-protec…...
CSS基础:选择器和声明样式
CSS概念 CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表 CSS用于HTML文档中元素样式的定义 使用css让网页具有美观一致的页面 语法 CSS 规则由两个主要的部分构成:选择器和声明样式 选择器通常…...
VS中安装gismo库
文章目录前言一、下载安装paraview直接下载压缩包安装就可以了解压后按步骤安装即可二、gismo库的安装gismo库网址第一种方法:第二种方法第三种方法:用Cmake软件直接安装首先下载cmake软件[网址](https://cmake.org/download/)安装gismo库三、gismo库的使…...
RexUniNLU与MySQL集成:构建智能文本分析平台
RexUniNLU与MySQL集成:构建智能文本分析平台 1. 引言 电商平台每天产生海量用户评论,这些评论蕴含着宝贵的用户反馈和市场洞察。传统的人工分析方式效率低下,难以应对大规模数据的处理需求。比如一个中型电商平台,每天可能产生数…...
QGIS缓冲区功能详解:从‘线段数’到‘端点样式’,这些高级参数你真的用对了吗?
QGIS缓冲区功能深度解析:参数组合的艺术与科学 引言:为什么需要关注缓冲区高级参数? 在空间分析领域,缓冲区分析是最基础却最容易被低估的工具之一。大多数QGIS用户都能快速创建一个简单的缓冲区——选择图层、输入距离、点击运行…...
R语言实战:单因素方差分析从数据导入到结果解读(附完整代码)
R语言实战:单因素方差分析从数据导入到结果解读(附完整代码) 当你第一次面对一组实验数据,试图比较不同处理组间的差异时,单因素方差分析(One-way ANOVA)往往是首选方法。作为R语言数据分析的基…...
无穷的奥秘 | 康托尔集合论与无穷算术
注:英文引文,机翻未校。 如有内容异常,请看原文。 Unraveling the Mysteries of Infinity 揭开无穷的奥秘 Jimmie Lawson 吉米劳森 Louisiana State University 路易斯安那州立大学 Infinity – p. 无穷 —— 第 页 Thinking about the …...
SpringBoot3+React18实战:手把手教你用PlayEdu搭建企业培训系统(附避坑指南)
SpringBoot3React18实战:手把手构建企业级培训平台PlayEdu 最近两年企业数字化学习需求激增,但市面SaaS产品要么功能冗余要么价格高昂。作为技术负责人,我在评估多个方案后选择了PlayEdu——这款基于SpringBoot3和React18的开源系统ÿ…...
边缘AI语音助手开发实战:如何用ESP32-S3构建低成本智能交互设备
边缘AI语音助手开发实战:如何用ESP32-S3构建低成本智能交互设备 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 你是否曾想过,将大语言模型的智能能力直接部署到嵌入…...
Sqoop数据更新处理深度解析:增量导入中的更新记录管理
Sqoop数据更新处理深度解析:增量导入中的更新记录管理 引言1. Sqoop处理数据更新的整体机制1.1 Sqoop更新处理的局限性1.2 两种增量模式对更新的支持对比2. Append模式:只处理新增,不处理更新2.1 工作原理2.2 为什么不能处理更新?…...
1000行代码实现极简版openclaw(附源码)(11)
10 - 完整数据流追踪 github 源码(欢迎star) 目标 通过一个完整的例子,追踪数据在整个系统中的流动。 场景 用户输入:创建一个 test.txt 文件,内容是 "Hello" 数据流图解 ┌─────────────…...
Siemens S7-200 SMART PLC与组态王以太网通信实战指南
1. 环境准备与驱动安装 在开始S7-200 SMART PLC与组态王的以太网通信配置前,需要确保硬件和软件环境就绪。我建议先准备一台安装了Windows 7/10系统的工控机(不建议使用Windows 11,某些驱动可能存在兼容性问题),组态王…...
AI 辅助开发实战:基于开源模型的人脸识别毕设系统设计与避坑指南
最近在帮学弟学妹们看人脸识别相关的毕业设计,发现大家普遍卡在几个地方:要么模型跑不起来,要么准确率上不去,部署到服务器上更是问题百出。正好结合我自己的经验和现在流行的 AI 辅助开发工具,梳理了一套从零到一的实…...
