Wowza Transcoder 提供了对Intel Quick Sync Video技术的支持,它可以在Linux系统下,充分利用Intel核心处理器的图像处理能力。 这个Intel Quick Sync Video技术将视频处理任务分配给了一个独占的媒体处理单元,这样使得视频转码更加快速。这篇文章介绍了如何在CentOS7.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 CreativeWorkstation 环境。
在Network & Host name步骤,在Generaltab菜单,选择Automatically connect to thisnetwork 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):
exportLIBVA_DRIVERS_PATH=/opt/intel/mediasdk/lib64
export LIBVA_DRIVER_NAME=iHD
如果当前系统使用systemd来启动系统服务,你需要在/etc/profile.d/目录下创建一个脚本,使得在系统启动时能够EXPORT相关环境变量。
使用文本编辑器创建一个脚本文件 /etc/profile.d/exports.sh,在这个文件中包含以下内容:
#!/bin/sh
exportLIBVA_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版本:
quicksync-2015r6
注意:如果Server.xml中没有QuickSync plugin path 的XML配置部分,只要将其添加到文件最后面部分的上面即可。
7. 最后,你可能需要关闭CentOS的防火墙,使得外部可以访问TCP 1935端口:
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
Wowza Streaming Engine 4是业界功能强大、API接口丰富的流媒体Server产品,采用它作为流媒体服务器产品的案例很多,直播、在线教育、IPTV都有它的用武之地。