[FFMPEG硬件加速]Intel® Media Server Studio

来源:互联网 发布:网络优化初级工程师 编辑:程序博客网 时间:2024/05/04 16:37

1.安装Linxu版本Intel Media Server Studio 2017

  • 操作系统:CentOS Linux release 7.2.1511 (Core)
  • 下载Intel Media Server Studio 2017,参考media server studio getting started guide
  • 使用install_sdk_CentOS.sh进行安装;
  • 使用 vainfo进行测试, 使用sample进行测试,若无错误,则安装成功

2.安装编译ffmpeg

  • 下载ffmpeg ,需要是2.8以后的版本才支持Intel Quick Sync Video
  • 安装参考文档quicksync-video-ffmpeg-install-valid
  • 配置FFmpeg(–enable-libmfx –enable-nonfree),编译,安装:需要拷贝头文件到/opt/intel/mediasdk/include/mfx目录,并且增加libmfx.pc文件.
  • 安装libpciaccess:apt install *pciaccess*
  • 重装 libdrm和libva
  • 查看是否编译成功:ffmpeg -codecs | grep qsv
  • 使用h264_qsv进行转码调试:
    ffmpeg -hwaccel qsv -c:v h264_qsv -vsync 0 -i udp://224.2.2.2:9000 -look_ahead 0 -pix_fmt nv12 -c:v h264_qsv -c:a copy -b:v 2M -preset veryfast -f mpegts udp://127.0.0.1:10000

2.qsv在ffmpeg中的CODEC

2.1.命令

ffmpeg -codecs | grep qsv 

2.2.decoders

h264_qsv   Supported pixel formats: nv12 p010le qsvhevc_qsv   Supported pixel formats: nv12 p010le qsv mpeg2_qsv  Supported pixel formats: nv12 qsv vc1_qsv    Supported pixel formats: nv12 qsv

2.3.encoders

 h264_qsv  Supported pixel formats: nv12 qsv   hevc_qsv  Supported pixel formats: nv12 qsv  mpeg2_qsv Supported pixel formats: nv12 qsv

2.4.pixel formats

YV12:YUV420Planar,Y,V(Cr),U(Cb)依次占用3个平面,先V后UIYUV,I420:YUV420Planar,Y,U(Cb),V(Cr)依次占用3个平面,与YV12的U、V平面顺序相反,先U后V;NV12:YUV420 Semi Planar, Y,U(Cb)V(Cr)依次占用2个平面,后面是UV占用一个平面,先U再V交错的一个平面。NV21:YUV420 Semi Planar, Y,V(Cr)U(Cb)依次占用2个平面,与NV12的UV交错平面中的UV交错顺序相反,其后面也是VU占用一个平面,先V再U交错的一个平面。

参考

Intel_Media_Developers_Guide
integrating-intel-media-sdk-with-ffmpeg-for-muxdemuxing-and-audio-encodedecode-usages
cloud-computing-quicksync-video-ffmpeg-white-paper
quicksync-video-ffmpeg-install-valid

1 0