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