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

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 qsv
hevc_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后U
IYUV,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

posted @ 2017-09-01 15:05  苍月代表我  阅读(1244)  评论(0)    收藏  举报