Wowza Streaming Engine 的转码功能(Transcoder)支持Windows平台和Linux平台下的Intel Quick Sync 以及 NVIDIA NVENC 硬件加速编码,以及Windows平台下的NVIDIA CUDA 加速编码。 你可以根据Wowza Streaming Engine的log日志中的信息,来确认当前是否正在使用硬件加速编码,以及哪一个硬件加速编码技术。
注意:
Intel Quick Sync 加速方案
Wowza Streaming Engine软件可以使用Intel Media SDK 来实现Windows 和 Linux 系统下的Quick Sync 技术的加速编码。 当Wowza Transcoder 第一次被调用时,它会检测是否有Quick Sync 资源可用。 要确认是否可以使用Quick Sync 硬件加速编码,可以检查日志中是否有对应的说明:
如果Quick Sync 是可用的
JNI:TranscoderSession.isQuickSyncAvailable[streamName]: Intel Quick Sync hardware acceleration is available
如果Quick Sync 不可用
JNI:TranscoderSession.isQuickSyncAvailable[streamName]: Intel Quick Sync hardware acceleration is NOT available
要使用Quick Sync 编码,你需要在[install-dir]/transcoder/templates/[template].xml文件中,将Encode/Video/Implementation参数设置为QuickSync。 如果你设置了QuickSync编码,但是这个硬件编码资源不可用(没有找到这个资源),那么Wowza Transcoder 将会使用默认的MainConcept 软件编码方案。
NVIDIA NVENC 加速方案
Wowza Media Server 软件 (3.6版本)以及Wowza Streaming Engine 软件都可以利用Kepler GPU架构的NVIDIA显卡在64位Windows和linux平台下实现硬件加速编码功能。 这些显卡包含了基于硬件的NVENC H.264 视频编码技术。当Wowza Transcoder 第一次被调用时,它会检测NVIDIA NVENC 资源是否可用。 要确认是否可以使用NVIDIA NVENC 硬件加速编码,可以检查日志中是否有对应的说明:
如果NVENC 是可用的
JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia NVENC hardware acceleration is available
如果NVENC 不可用
JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia NVENC hardware acceleration is NOT available
要使用NVENC编码,请在[install-dir]/transcoder/templates/[template].xml文件中,将Encode/Video/Implementation参数设置为NVENC。 如果你设置了NVENC编码,但是这个NVENC硬件加速编码资源不可用(没有找到这个资源),那么Wowza Transcoder 将会使用NVIDIA CUDA 加速编码方案(当然,前提是你的硬件服务器和Wowza版本支持这个技术)。 如果NVIDIA加速编码方案也不支持,Wowza Transcoder 将使用MainConcept 软件编码方案。
注意:较老的NVIDIA显卡驱动可能会限制基于NVENC技术的视频编码同时只能最多对30路进行编码。因此,请更新您的显卡驱动,来避免这个限制。
NVIDIA CUDA acceleration
重要:在最新的NVIDIA显卡驱动上(340及以上版本)已经不支持CUDA 加速编码了。因此从Wowza Streaming Engine™ 4.1.2版本开始,Wowza已经不支持基于CUDA的加速编码了。
在Windows平台上,Wowza media server 软件利用NVIDIA CUDA SDK 来实现基于CUDA技术的加速编码方案。 当Wowza Transcoder 被第一次调用时,它会检查NVIDIA CUDA 资源是否可用。要确认是否可以使用NVIDIA CUDA 硬件加速编码,可以检查日志中是否有对应的说明:
如果CUDA 是可用的
JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia CUDA hardware acceleration is available
如果CUDA 不可用
JNI:TranscoderSession.isCUDAAvailable[streamName]: NVidia CUDA hardware acceleration is NOT available
要使用CUDA 编码,请在[install-dir]/transcoder/templates/[template].xml文件中,将Encode/Video/Implementation参数设置为CUDA。 如果你选择使用CUDA编码,但是CUDA硬件加速编码是不可用的,那么Wowza Transcoder 将使用默认的MainConcept 软件编码方案.
MainConcept 软件编码方案
如果你的硬件不支持加速编码技术,你可以使用默认的MainConcept 软件编码。它是不支持硬件加速技术的。要使用MainConcept 软件编码方案,请在[install-dir]/transcoder/templates/[template].xml文件中,将Encode/Video/Implementation参数设置为default。
注意事项
Wowza Streaming Engine 4是业界功能强大、API接口丰富的流媒体Server产品,采用它作为流媒体服务器产品的案例很多,直播、在线教育、IPTV都有它的用武之地。