多协议、性能稳定、丰富API的流媒体服务器软件
在CentOS系统上,如何使用Intel Quick Sync 硬件加速编码?
Wowza Transcoder 提供了对Intel Quick Sync Video技术的支持,它可以在Linux系统下,充分利用Intel核心处理器的图像处理能力。 这个Intel Quick Sync Video技术将视频处理任务分配给了一个独占的媒体处理单元,这样使得视频转码更加快速。 这篇文章介绍了如何在CentOS 7.1-1503(x86_64)系统上为Wowza Streaming Engine™ 4.4.0 (及以上版本)配置和使用Quick Sync 硬件加速技术。

注意: 如果你以前就在Ubuntu Server 或 SUSE Linux 系统上用过Quick Sync 硬件加速技术,但使用的Wowza Streaming Engine 版本是旧的 (版本 4.3.x 或更早的),你可以将Wowza Streaming Engine的版本升级后继续用,这没有问题。 但是,Intel已经不再继续支持在这两类操作系统上使用Quick Sync 硬件加速技术了,因此你应该在CentOS系统上安装最新的Wowza Streaming Engine 4.4.0 (及以上版本)来使用这个技术。 重要: 在目前,本方案还不支持Linux系统下的Skylake 微系统架构(microarchitecture)。 要在Linux上使用Haswell 和 Broadwell 微系统架构(microarchitecture) ,请根据以下指南进行。

针对CentOS 7.1-1503 (x86_64)系统上的操作指南

重要: 要让Wowza Streaming Engine支持Intel Quick Sync acceleration 技术,目前,你必须使用CentOS 7.1 (1503)版本,其它版本还没有测试完成,是不能正常工作的。 你必须严格按下面的操作指南进行才能确保可以正常使用Intel Quick Sync acceleration技术。
  1. 安装 CentOS 7.1-1503 64位系统 (CentOS-7-x86_64-DVD-1503-01).

    重要: 不要用yum update来更新你的系统。你必须完整安装。 在系统安装时,要按如下配置:

    • Software Selection步骤,要选择Development and Creative Workstation 环境。

    • Network & Host name步骤,在Generaltab菜单,选择Automatically connect to this network when it is available

    • 在安装过程中,为root用户设置一个密码,并配置一个非管理员用户。这个非管理员用户,在下文中被称为[non-root-user]

  2. root用户登录系统,运行下面的命令以安装其它必要的软件包:
    yum -y install net-tools redhat-lsb-ore unzip wget
    usermod -a -G video [non-root-user]
    			
  3. 下载并安装针对CentOS 7.1系统的Intel Media SDK驱动程序:
    mkdir /opt/mediasdk
    cd /opt/mediasdk
    wget http://www.wowza.com/downloads/WowzaTranscoder-4-Components/intel-quicksync-linux/intel-linux-media-centos_16.4.2.1-39163_64bit.zip
    unzip intel-linux-media-centos*
    tar -xvf install_scripts_centos*
    
    ./install_sdk_UMD_*.sh
    mkdir /MSS
    chown [non-root-user]:[non-root-user] /MSS
    
    su [non-root-user]
    cp build_kernel_rpm*.sh /MSS
    cd /MSS
    ./build_kernel_rpm*.sh
    exit
    
    cd /MSS/rpmbuild/RPMS/x86_64
    rpm -Uvh kernel-3.10.*.rpm
    				
    安装完成后,重启服务器,以让驱动程序可以被正常加载:
    shutdown -r 0
    				
  4. 下载Linux 64位系统下的Wowza Streaming Engine安装包,然后安装Wowza 软件。 当然,也可以从老版本上直接升级,请参考软件升级

  5. 如果当前系统使用init.d来启动系统服务,请编辑Wowza Streaming Engine 的启动脚本,使得它可以在系统服务模式下使用Intel Quick Sync 技术:
    vi /usr/bin/WowzaStreamingEngined
    				
    在这个脚本中加入下面两行(. $WMSAPP_HOME/bin/wms.sh):
    export LIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64
    export LIBVA_DRIVER_NAME=iHD
    				

    如果当前系统使用systemd来启动系统服务,你需要在/etc/profile.d/目录下创建一个脚本,使得在系统启动时能够EXPORT相关环境变量。
    使用文本编辑器创建一个脚本文件 /etc/profile.d/exports.sh,在这个文件中包含以下内容:
    #!/bin/sh
    export LIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64
    export LIBVA_DRIVER_NAME=iHD
    				
    然后重启CentOS系统,在重启完毕之后,建议你用env命令来检查一下上面两个环境变量是否已经被设置好了。

  6. 编辑[install-dir]/conf/Server.xml文件,将QuickSync plugin path 指向Intel Media SDK 类库的R6版本:
    <Transcoder>
    	<PluginPaths>
    		<QuickSync>quicksync-2015r6</QuickSync>
    	</PluginPaths>
    </Transcoder>
    				
    注意:如果Server.xml中没有QuickSync plugin path 的XML配置部分,只要将其添加到文件最后面<Properties>部分的上面即可。
  7. 最后,你可能需要关闭CentOS的防火墙,使得外部可以访问TCP 1935端口:
    systemctl disable firewalld
    systemctl stop firewalld
    systemctl status firewalld