LINUX安装INTEL® MEDIA SERVER STUDIO

本文详细介绍了在CentOS7.1和Ubuntu14.04上安装Intel®MediaServerStudio的过程,包括下载、解压、配置环境、编译内核及驱动,以及验证安装成功的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

2016年12月27日 12:35:16 supermanwg 阅读数:2479更多

个人分类: 多媒体

最近在折腾Intel QuickSync技术,主要是要打算使用其提供的硬件编解码功能。看看是否能够有效的降低CPU的使用率。本来是以为直接下载ffmpeg的二进制可执行文件即可(在windows上,只要有安装好Intel的驱动以及硬件支持,直接使用ffmpeg的可执行文件,是可以正常运行的),没想到在linux平台下事情并没有想像的那么简单。需要这台的事情还是很多的。

Intel官方提供的SDK说明文档中,推荐的“黄金”操作系统是CentOS 7.1.1503并且使用其自带的内核,这样可以少折腾不少东西。目前使用的是Intel ® Media Server Studio 2016 R1 for Linux版本的,SDK中对于CentOS7.1是可以支持直接安装RPM包的,并且会自动下载其默认的内核,也就是3.10的内核,打上补丁,并且安装到系统中去。经过几天的折腾,分别在CentOS7.1上安装成功后又在Ubuntu14.04.4上也安装成功。由于另一台电脑是i5-3470的CPU,其实并没有在2016的SDK支持列表中,因此装上去了,在运行官网提供的samples代码,是会报错的。所以后来就在自己的本子,也就是MSI的GE60上安装了(I7-4700MQ,HD4600是有在SDK的支持列表中的),而由于目前磁盘资源紧张,没有空间来安装一个CentOS7.1,所以就直接在Ubuntu上编译了。当然,如果可以的话,还是建议直接安装CentOS7.1,因为在后面做的一些测试时,Ubuntu编译的3.14的内核死掉了不少次,也没去跟踪具体是何原因导致(用的KDE的环境,毕竟涉及到图形,而且本来GE60是双显卡的,编译3.14的内核后,显卡灯都是亮黄灯,也就是用独显的模式的 ,而如果是用核显,则是亮蓝灯,不过测试,亮黄灯的话,还是没有什么问题的,可以正常使用)。杰茜莱就简单对如何在CentOS7.1以及Ubuntu14.04上安装Intel media server studio做一下简单的说明吧(其实官网的说明文档已经写得很清晰了,自己权当做一下记录吧)。

准备工作

先从https://software.intel.com/en-us/intel-media-server-studio 下载好studio,可以下载社区版本即可,专业版会多一些编解码的东西(HEVC等),不过提供的SDK是一样的。下载的话,需要类似注册一下,主要是要提供邮箱地址,到时候会发一个下载链接给你,你就直接从链接就可以下载到对应的压缩包。

下载完成后,就将压缩包解压到本地文件夹中即可。

Shell

 

1

2

3

4

5

6

$ tar -xvzf MediaServerStudio*.tar.gz

$ cd MediaServerStudio*

$ tar -xvzf SDK*.tar.gz

$ cd SDK*

$ cd CentOS

$ tar -xvzf install_scripts*.tar.gz

目前2016SDK支持的硬件列表如下,如果想要安装后可用的话,要先选好硬件才行!

Intel® Core™ ProcessorsIntel® Xeon® Processors
4 th Generation Intel Core™ Processors with Intel Iris™ Pro Graphics, Intel Iris Graphics or Intel HD Graphics 4200+ Series.

 

5th Generation Intel Core™ Processors with Intel Iris™ Graphics or Intel HD Graphics (5500, 6000, 6100).

Intel® Xeon® Processor E3 v3 Family with Intel® HD Graphics P4700.

 

Intel® Xeon® Processor E3 v4 Family with Intel® Iris™ Pro Graphics P6300.

(C226 chipset is required to use integrated graphics with Xeon processors)

CentOS7.1.1503

这个是SDK说明文档中推荐的“黄金”系统,也就是首选了。很多软件都会预装以及测试好了,很是容易。具体系统下载的话,官网提供从http://vault.centos.org/7.1.1503/isos/x86_64/ 下载,建议通过种子的方式下载,这样会快不少。下载完成,安装下系统,这些步骤都还是要的,优先选择安装为Development and Creative Workstation。这样主要是省事一些,其实就算是安装最精简的版本,也是可以的,并不会费事多少。

CentOS会比较省事,但是脚本中缺少了对mesa-dri-drivers的依赖处理,所以执行脚本前,还是先安装下mesa-dri-drivers。然后运行install_sdk_UMD_CentOS.sh应该就可以完成对UMD的安装。

Shell

 

1

2

sudo yum install mesa-dri-drivers -y

sudo ./install_sdk_UMD_CentOS.sh

安装完成,大致看到的是以下这样的结果,没有报错之类的。

install_UMD_success

之后,就要开始给内核打补丁,并安装内核。这个步骤需要一个非root用户,所以要事先建立好一个非root用户,脚本会给你对应的提示就是了。执行的脚本是build_kernel_rpm_CentOS.sh,也是很傻瓜化的操作,会自动下载源码的RPM包,并解压,打补丁,编译。如果没出现什么意外,可以看到以下的结果。那么应该是成功了。会烧掉一些时间来做内核的编译,编译成功后,会自动打成RPM包,下次换个设备就不需要再次编译了,RPM包拷过去就可以了。很是方便。

kernel_build_success

接下来就是把编译好的内核安装包安装一下,重启就可以大功告成了!!

Shell

 

1

2

3

cd rpmbuild/RPMS/x86_64/

rpm -Uvh kernel-3.10.*.rpm

reboot

 

Ubuntu14.04

Ubuntu14.04的安装会相对麻烦。不过现在也提供了脚本,会比较快速的搞定,本身也有做部分的支持包。

执行Generic目录下的install_media.sh或者执行install_ubuntu.sh脚本,需要使用root权限,脚本中,会将原有系统中的libdrm以及libva相关的文件给删除掉。所以记得做好备份(不然到时候图形出不来,还是很麻烦的)!!!这么做,主要是怕加载原有的SO文件了,导致没有正常运行(我并没有这么做,并没有删除这些SO文件,仅仅只是将文件拷贝到对应的目录而已,也正常运行,这个应该是因为后面配置了环境变量的缘故吧)。

install_ubuntu.sh如下(这个是官网提供的,并没有在SDK说明文档中)。

Shell

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

#!/bin/bash

 

echo "remove other libdrm/libva"

find /usr -name "libdrm*" | xargs rm -rf

find /usr -name "libva*" | xargs rm -rf

 

echo "Remove old MSS install files ..."

rm -rf /opt/intel/mediasdk

rm -rf /opt/intel/common

rm -rf /opt/intel/opencl

 

 

echo "install user mode components"

#unpack the generic package

tar -xvzf intel-linux*.tar.gz

 

#put the generic components in standard locations

/bin/cp -r etc/* /etc

/bin/cp -r opt/* /opt

/bin/cp -r usr/* /usr

 

#ensure that new libraries can be found

echo '/usr/lib64' > /etc/ld.so.conf.d/libdrm_intel.conf

echo '/usr/local/lib' >> /etc/ld.so.conf.d/libdrm_intel.conf

ldconfig

 

echo "install kernel build dependencies"

apt-get -y install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc g++

 

echo "download 3.14.5 kernel"

if [ ! -f ./linux-3.14.5.tar.xz ]; then

     wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.5.tar.xz

fi

tar -xJf linux-3.14.5.tar.xz

 

echo "apply kernel patches"

cp  /opt/intel/mediasdk/opensource/patches/kmd/3.14.5/intel-kernel-patches.tar.bz2 .

tar -xvjf intel-kernel-patches.tar.bz2

cd linux-3.14.5

for i in ../intel-kernel-patches/*.patch; do patch -p1 < $i; done

 

echo "build patched 3.14.5 kernel"

make olddefconfig

make -j 8

make modules_install

make install

 

 

echo "Install finished, please "

echo "1. update LD_LIBRARY_PATH to include /usr/lib64;/usr/local/lib"

echo "2. add user to video group: usermod -a -G video user"

echo "3. reboot"

执行了install_ubuntu.sh后,内核也就编译并安装了。接下来,还需要编译libdrm以及编译libva。

Shell

 

1

2

3

4

5

6

7

8

9

10

sudo apt-get install libxcb1-dev libpciaccess-dev # 依赖这2个编译头文件

cd /opt/intel/mediasdk/opensource/libdrm/2.4.54-47109

tar -xf libdrm-2.4.54.tar.bz2

libdrm-2.4.54/

./configure && make && make install

 

cd /opt/intel/mediasdk/opensource/libva/1.67.0.pre1-47109

tar -xf libva-1.67.0.pre1.tar.bz2

cd libva-1.67.0.pre1/

./configure && make && make install

都是很简单的操作。编译安装后,再设置下环境变量吧。添加到/etc/environment

Shell

 

1

2

3

LD_LIBRARY_PATH="/usr/local/lib;/usr/lib64"

LIBVA_DRIVER_NAME=iHD

LIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64

重启后,应该也就安装成功了!!!

验证是否安装成功

重启后,可以通过查看内核信息。CentOS7.1会看到如下的信息:

Shell

 

1

2

uname -r

3.10.0-229.1.2.47109.MSSr1.el7.centos.x86_64

内核会被标记上MSSr1,目前的SDK是2016 R1版本。而Ubuntu14.04(我使用的是3.13的内核)。则是如下:

Shell

 

1

2

uname -r

3.14.5

我并没有像官方那么,还给内核加上自己的标识,反正本身版本就不一致。

可以通过lsmod来查看是否有加载对应正确的内核模块。

Shell

 

1

2

3

4

5

6

7

lsmod | grep 'i915'

i915                  938476  1

video                  19263  1 i915

i2c_algo_bit           13413  1 i915

drm_kms_helper         98274  1 i915

drm                   311336  3 i915,drm_kms_helper

i2c_core               40325  5 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit

当然,使用samples的代码来验证是最佳的,因为内核可以运行成功,但是并不代表可以正常运行SDK提供的代码(硬件限制)。

大致的话,还是比较推荐使用CentOS7.1进行安装的,因为步骤都很简单明了,安装后的SDK文件之类的,在/opt/intel目录下。

samples如果打算编译的话,则需要安装下cmake(可以不编译的,有提供二进制文件)。

Shell

 

1

2

sudo apt-get install cmake -y # ubuntu

sudo yum install cmake -y # centos

执行下sample_multi_transcode

Shell

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

./sample_multi_transcode -i::h264 ../content/test_stream.264 -o::h264 /tmp/out.h264 -hw -la

Multi Transcoding Sample Version 6.0.16043361.361

 

libva info: VA-API version 0.99.0

libva info: va_getDriverName() returns 0

libva info: User requested driver 'iHD'

libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so

libva info: Found init function __vaDriverInit_0_32

libva info: va_openDriver() returns 0

Pipeline surfaces number: 120

MFX HARDWARE Session 0 API ver 1.17 parameters:

Input  video: AVC

Output video: AVC

 

Session 0 was NOT joined with other sessions

 

Transcoding started

 

Transcoding finished

 

Common transcoding time is  0.26 sec

MFX session 0 transcoding PASSED:

Processing time: 0.26 sec

Number of processed frames: 101

 

The test PASSED

如果显示The test PASSED,那么则显示正常运行了!!!也就是SDK安装完成了!

以上,大致说了下如何在linux上安装Intel® Media Server Studio。

 

参考资料:

Generic Installation of Intel® Media Server Studio on Linux*

Getting Started Guide – Linux* Installation

转载请注明: 转载自elkPi

本文链接地址: linux安装Intel® Media Server Studio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值