多协议、性能稳定、丰富API的流媒体服务器软件
如何在Windows系统服务模式下让Wowza Transcoder启用硬件加速转码?
这篇文章介绍了如何在Windows系统服务模式下让Wowza Transcoder启用硬件加速转码?包括Intel Quick Sync 和 NVIDIA CUDA 两种硬件转码方案。


Wowza Transcoder 支持 Intel Quick Sync 和 NVIDIA CUDA 硬件加速功能。 在Windows系统上,这个加速依赖于显卡驱动提供的接口,但是在Windows Vista 和 Windows Server 2008 操作系统上,微软开始将系统服务隔离在一个叫做"Session 0 Isolation"的运行环境中,在这个环境下,应用程序没有访问硬件驱动的权限。 这就意味着当Wowza Streaming Engine以Windows系统服务运行时,Wowza Transcoder 硬件加速转码是不可用的。

注意: NVIDIA NVENC 和 NVIDIA Tesla GPU 的驱动程序被组织为一种方式以让处于Session 0 环境中的应用程序可以利用它们的硬件加速转码能力。 要了解更多关于Session 0 Isolation 的工作机制,请阅读Application Compatibility - Session 0 Isolation.

解决方案


你可以尝试用以下的办法来解决这个问题,当服务器重启后,Wowza Streaming Engine会被自动运行在一个可以访问显卡驱动的环境中。
基本的步骤如下:

  1. 创建一个Windows计划任务,当一个特定的用户在服务器上登录成功后就启动Wowza Streaming Engine

  2. 配置服务器,让它每次重启后自动登录

创建Windows计划任务


要创建一个Windows计划任务来运行Wowza Streaming Engine,按如下操作:

  1. 打开计划任务管理器(不同版本的操作系统上有不同的打开方式开始 > 所有程序 > 管理工具 > 计划任务).

  2. Action菜单,点击Create Task,按如下配置,然后点击OK:

    在常规Tab页


    1. 名称中输入Wowza Streaming Engine.
    2. 点击更改用户和组,然后选择自动登录并运行Wowza Streaming Engine软件的用户
    3. 勾选只在用户登录时运行
    4. 不要勾选使用最高权限运行
    5. 不要勾选隐藏

    在触发器Tab页


    1. 点击新建按钮
    2. 新建触发器的对话框中,在开始任务中选择登录时.
    3. 设置区域,选择特定的用户,点击更改用户按钮,然后选择前面步骤中同样的用户(如果还没选这个).
    4. 清空所有高级设置中的可选项,除了已启用,这个是必须要选上的

    在操作Tab页


    1. 点击新建按钮
    2. 新建操作的对话框,为操作选择启动程序
    3. 程序或脚本字段,输入%WMSAPP_HOME%/bin/startup.bat.
    4. 添加参数(可选) 字段空着
    5. 起始于(可选)字段,输入%WMSAPP_HOME%/bin.

    在条件Tab页


    清空下面的可选项s:

    • 仅当计算机空闲时间超过下列值时才启动
    • 只有在计算机在使用交流电源时才启动
    • 唤醒计算机运行此任务
    • 只有在以下网络连接可用时才启动

    在设置Tab页


    1. 勾选允许按需运行任务
    2. 清空如果过了计划开始时间,立即启动任务
    3. 清空如果任务失败,按一下频率重启
    4. 清空如果任务运行时间超过以下时间,停止任务
    5. 选择如果请求后任务还在运行,强行将其停止
    6. 清空如果任务没有计划再次运行,则在此之后删除它

如果点击Task Scheduler中的计划任务列表文件夹图标,你应该会看到活动状态的任务列表。 新创建的的Wowza Streaming Engine任务应该会显示在列表的最底部。 如果你右键Wowza Streaming Engine任务,再选择Run,Wowza Streaming Engine将开始启动。 在你配置好这个计划任务后,注销计算机,然后再已刚才配置的用户登录进来。 你会看到一个命令提示,同时Wowza Streaming Engine开始启动。然后开始下一步。

当服务器重启时自动登录


接下来,我们需要将服务器设置为让用户自动登录,这个用户就是上面我们配置的运行Wowza Streaming Engine的用户。 有几个不同的方法,可以实现自动登录。下面的文章介绍了固有的自动登录方式:


此外,还有一些第三方工具,也可以让我们更安全的自动登录,并在登录后锁定用户。下面是介绍:


注意


  • 当使用LogonExpert 且设置了登录后锁定计算机,你可能需要将Delay computer lock for [x] seconds 设置为 20 秒 以使得Intel Quick Sync 加速转码能正常工作

  • 确认设置好服务器上的电源设置,不要让用户自动注销,也不要让服务器进入睡眠或休眠模式。也要确认电源设置,让服务器可以发挥全部性能。

  • 在这种方式下运行的Wowza Streaming Engine 不会影响性能,安全性和Wowza以standalong模式运行时的情况一样。自动登录的设置可能会引起一些潜在的安全风险,因为你的Wowza Streaming Engine 将一直保持登录时的用户