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

Docker调用Intel集显实现FFmpeg硬解码

文章目录

    • Docker调用Intel集显实现FFmpeg硬解码
      • 参考
      • FFmpeg 集成qsv
        • 方式一 容器完成所有步骤
        • 方式二 容器完成部分步骤
        • 方式三 dockerfile部署

Docker调用Intel集显实现FFmpeg硬解码

参考

ffmpeg_qsv_docker拉取该镜像可以实现FFmpeg集成vaapi的硬加速,通过dockerfile文件可以看出缺少qsv所依赖的MediaSDK,虽然FFmpeg已支持qsv的硬件加速,但安装所需要的依赖,无法正常使用
ffmpeg硬加速底层架构

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试试

http://www.lryc.cn/news/2065.html

相关文章:

  • 端到端模型(end-to-end)与非端到端模型
  • uniApp封装一个滑块组件
  • 运动基元(二):贝塞尔曲线
  • Android 11.0 关于Launcher3中调用截图功能总是返回null的解决方案
  • random随机数
  • 【金三银四系列】Spring面试题-上(2023版)
  • linux基本功系列之tar命令实战
  • Prometheus服务发现
  • 【Spring6源码・MVC】请求处理流程源码解析
  • elasticsearch term match 查询
  • canal使用说明:MySQL、Redis实时数据同步
  • 计算机视觉框架OpenMMLab开源学习(三):图像分类实战
  • awk命令
  • LocalDateTime获取时间的年、月、日、时、分、秒、纳秒
  • MoveIT Rviz和Gazebo联合仿真
  • ESP32S2(12K)-DS18B20数码管显示温度
  • linux栈溢出定位
  • CSS基础:选择器和声明样式
  • VS中安装gismo库
  • 元学习方法解决CDFSL以及两篇SOTA论文讲解
  • 大数据之------------数据中台
  • Python 中 字符串是什么?
  • OJ刷题Day1 · 一维数组的动态和 · 将数字变成 0 的操作次数 · 最富有的客户资产总量 · Fizz Buzz · 链表的中间结点 · 赎金信
  • 【数据结构】栈——必做题
  • LearnOpenGL 笔记 - 入门 04 你好,三角形
  • keepalived+mysql高可用
  • JAVA工具篇--1 Idea中 Gradle的使用
  • 弄懂自定义 Hooks 不难,改变开发认知有点不习惯
  • Java面向对象基础
  • 基于python下selenium库实现交互式图片保存操作(批量保存浏览器中的图片)