本次安装的是intel-mediasdk-20.5.1github下载地址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-utilsyum 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++的版本也要做对应切换第三步:安装LibDRMgit clone https://gitlab.freedesktop.org/mesa/drm.gitdrm 需要用meson编译,执行yum install meson 安装mesoncd drm
meson builddir/ninja -C builddir/ install第四步:安装2D Driver(xf86-video-intel)git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.gitcd xf86-video-intel./autogen.shmake -j4make install第五步:安装GMMLib**git clone https://github.com/intel/gmmlib.gitcd gmmlib/git checkout intel-gmmlib-20.4.1 (切换到20.4.1 tag,这一步很重要,各个仓库的版本存在对应关系)
mkdir buildcd buildcmake3 ..make -j4make install第六步:安装VAAPI and Video Driver(libva)*git clone https://github.com/intel/libva.gitcd libvagit checkout 2.10.0./autogen.shmake -j4make install第七部:安装Libva-Utilsgit clone https://github.com/intel/libva-utils.gitcd libva-utilsgit checkout 2.10.0./autogen.sh 这一步会出错
执行export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig重新执行./autogen.shmake -j4make install第八步:安装Video Drivergit clone https://github.com/intel/media-driver.gitcd media-drivergit checkout -b intel-media-20.4 origin/intel-media-20.4mkdir buildcd buildcmake3 ..make -j4make install第九步:安装media sdkgit clone https://github.com/Intel-Media-SDK/MediaSDK.gitcd MediaSDKgit checkout -b intel-mediasdk-20.5 origin/intel-mediasdk-20.5mkdir buildcd buildcmake3 ..make -j4make install第十步:安装libmfx第十一步:编译ffmpeggit clone https://gitee.com/mirrors/ffmpeg.gitexport PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/intel/mediasdk/lib64/pkgconfig/cd ffmpeg./configure --enable-encoder=h264_qsv --enable-decoder=h264_qsv --enable-libmfxmake -j4make 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 h264qsv速度测试(基于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
同样的命令,在不同时候测试,转码效率相差很大,不稳定
原文链接: https://www.cnblogs.com/lvyunxiang/p/15806424.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/185721
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!