热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ffmpeg集成qsv

本次安装的是intel-mediasdk-20.5.1github下载地址https:github.comIntel-Media-SDKMediaSDKreleasestagint

本次安装的是intel-mediasdk-20.5.1

github下载地址https://github.com/Intel-Media-SDK/MediaSDK/releases/tag/intel-mediasdk-20.5.1

 

官方给出的安装步骤https://01.org/linuxmedia/quickstart/ffmpeg-vaapi-qsv-installation-environment,仅供参考,按照官方步骤会出错

 



 

第一步,安装依赖

yum install -y gcc gcc-c++ autoconf automake m4 libpciaccess-devel epel-release cmake3 pciutils bison flex elfutils-libelf-devel bc openssl-devel python-make xorg-x11-server-devel libXfont2-devel expat-  devel libXrandr-devel nasm git SDL2 SDL2-devel

 

第二步,升级gcc和g++,这里使用scl来管理gcc和g++版本(必须要升级gcc和g++, 4.8.5版本的gcc和g++编译会有问题)


yum install centos-release-scl scl-utils-build scl-utils

yum install devtoolset-7-gcc-c++.x86_64  devtoolset-8-gcc-c++.x86_64 devtoolset-9-gcc-c++.x86_64 devtoolset-10-gcc-c++.x86_64


关于scl使用参考https://blog.csdn.net/lianshaohua/article/details/90205986

 

执行scl enable devtoolset-8 bash

  将gcc版本切换到8.3版本

 

查看切换后的版本



    

g++的版本也要做对应切换



第三步:安装LibDRM

git clone https://gitlab.freedesktop.org/mesa/drm.git

drm 需要用meson编译,执行yum install meson 安装meson

cd drm


meson builddir/ 

ninja -C builddir/ install

 

第四步:安装2D Driver(xf86-video-intel)

git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git

cd xf86-video-intel

./autogen.sh

make -j4

make install

 

第五步:安装GMMLib

git clone https://github.com/intel/gmmlib.git

cd gmmlib/

git checkout intel-gmmlib-20.4.1       (切换到20.4.1 tag,这一步很重要,各个仓库的版本存在对应关系)


mkdir build

cd build

cmake3  ..

make -j4

make install

 

第六步:安装VAAPI and Video Driver(libva)

git clone https://github.com/intel/libva.git

cd libva

git checkout 2.10.0

./autogen.sh

make -j4

make install

 

第七部:安装Libva-Utils

git clone https://github.com/intel/libva-utils.git

cd libva-utils

git checkout 2.10.0

./autogen.sh  这一步会出错




执行export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

重新执行./autogen.sh

make -j4

make install

 

第八步:安装Video Driver

git clone https://github.com/intel/media-driver.git

cd media-driver

git checkout -b intel-media-20.4 origin/intel-media-20.4

mkdir build

cd build

cmake3 ..

make -j4

make install

 

第九步:安装media sdk

git clone https://github.com/Intel-Media-SDK/MediaSDK.git

cd MediaSDK

git checkout -b intel-mediasdk-20.5 origin/intel-mediasdk-20.5

mkdir build

cd build

cmake3 ..

make -j4

make install

 

第十步:安装libmfx

 

第十一步:编译ffmpeg

git clone https://gitee.com/mirrors/ffmpeg.git

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/intel/mediasdk/lib64/pkgconfig/

cd ffmpeg

./configure --enable-encoder=h264_qsv --enable-decoder=h264_qsv --enable-libmfx

make -j4

make install

 

执行./ffmpeg -i xxx.ts -vcodec h264_qsv -acodec aac -f mpegts out.ts测试,出现报错libstdc++.so.6找不到GLBCXX_3.4.20,这是由于gcc和g++版本太低的问题

 



手动拷贝一个高版本的libstdc++.so.6到/lib64目录下

重新执行./ffmpeg -i xxx.ts -vcodec h264_qsv -acodec aac -f mpegts out.ts



 

无法创建vaapi 设备,可能是由于虚拟机的问题


 

 

查看ffmpeg 支持的h264解码器./ffmpeg -decoders|grep h264



查看ffmpeg支持的h264编码器  ./ffmpeg -encoders|grep h264

 



 

 

qsv速度测试(基于i5 8500)

 

ffmpeg -y -hwaccel qsv -c:v h264_qsv -i F:\片源\HD_264\大丈夫_01.ts -vcodec h264_qsv -c:v h264_qsv output.mp4

 




 



 

同样的命令,在不同时候测试,转码效率相差很大,不稳定



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
author-avatar
dvs5453401
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有