【问题标题】:How to schedule streaming with Wowza Streaming Engine如何使用 Wowza Streaming Engine 安排流式传输
【发布时间】:2026-02-16 12:05:01
【问题描述】:

我正在尝试在 Wowza 服务器上安排播放列表,以便连续播放视频(如电视频道)。我开始学习本教程:

http://www.wowza.com/forums/content.php?145-How-to-schedule-streaming-with-Wowza-Streaming-Engine-%28ServerListenerStreamPublisher%29

/usr/local/WowzaStreamingEngine/conf/Server.xml 我在 ServerListeners 中添加了这个:

<ServerListener
   <BaseClass>com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher</BaseClass>
</ServerListener>

/usr/local/WowzaStreamingEngine/conf/Application.xml 我在模块中添加了这个:

<Module>
  <Name>streamPublisher</Name>
  <Description>Schedules streams and playlists.</Description>
  <Class>com.wowza.wms.plugin.collection.module.ModuleStreamPublisher</Class>
</Module>

我在/usr/local/WowzaStreamingEngine/content/ana.smil 中创建了一个包含以下内容的 smil 文件:

<?xml version="1.0" encoding="UTF-8"?>
<smil>
    <head>
    </head>
    <body>

        <stream name="live"></stream>

        <playlist name="pl1" playOnStream="live" repeat="true" scheduled="2013-09-25 16:00:00">
            <video src="mp4:sample.mp4" start="5" length="5"/>
            <video src="mp4:sample.mp4" start="50" length="5"/>
            <video src="mp4:sample.mp4" start="150" length="5"/>
        </playlist>
    </body>
</smil>

我重新启动了服务器...

现在我期待看到流“通过名为“live”的流“直播”进入我的应用程序...但没有显示。

我想我错过了一步,可能添加了streamPublisherSmilFile 属性,正如我在上面发布的 Wowza 链接中所说的那样......但是我在哪里设置呢?

感谢您的帮助。 问候, 约翰

【问题讨论】:

    标签: video-streaming wowza


    【解决方案1】:

    您需要同时添加服务器和应用程序属性

    服务器属性

    /usr/local/WowzaStreamingEngine/conf/Server.xml

     <!-- Properties defined here will be added to the IServer.getProperties() collection -->
    <Properties>
       <Property>
          <Name>...</Name>
          <Value>...</Value>
          <Type>...</Type>
       </Property>
    </Properties>
    

    应用程序属性

    /usr/local/WowzaStreamingEngine/conf/{APP_NAME}/Application.xml

    例如:对于 live 应用:

    /usr/local/WowzaStreamingEngine/conf/live/Application.xml

      <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
    <Properties>
       <Property>
          <Name>...</Name>
          <Value>...</Value>
          <Type>...</Type>
       </Property>
    </Properties>
    

    您还需要将模块 .jar 文件从插件集合复制到:

    /usr/local/WowzaStreamingEngine/lib

    然后重启 Wowza。

    【讨论】:

      【解决方案2】:

      前置要求:在wowza中,配置文件的层次是这样的:

      1- wowza-dir/conf/specific_application_name/Application.xml    
      2- wowza-dir/conf/Application.xml   
      3- wowza-dir/Server.conf
      

      如果在这 3 个配置文件中设置了某些内容(设置、配置、...), wowza 将选择最具体的配置文件。这意味着如果您在conf/your_app/Application.xmlconf/Application.xml 中都设置了内容目录,wowza 将选择conf/Application.xml 中提到的目录。同样的规则也适用于 smil 文件和...等其他内容。

      好的,现在让我们回到我们的问题: 使用 wowza 有两种预定流式传输方式:
      1- 服务器监听器:您在服务器配置文件(Application.xml)中设置流和调度设置
      2- 应用程序模块:您在应用程序配置文件(Application.xml)中设置设置

      例如,如果您的my_app_content_directory 中有包含stream_schedule 的my_stream_sched.smil 文件,则在服务器侦听器模式下,smil 文件会在服务器启动时加载,如果您想更改它,则需要重新启动服务器!在应用模块中,只需要重启应用即可。

      【讨论】:

        【解决方案3】:

        我们需要添加应用程序的 Server.xml 和 Application.xml 链接中给出的服务器和应用程序属性。

        链接:http://www.wowza.com/forums/content.php?145-How-to-schedule-streaming-with-Wowza-Streaming-Engine-%28ServerListenerStreamPublisher%29

        然后将 jar 复制到 /usr/local/WozaStreamingEngine/lib/ ,然后重新启动 WowzaStreaming 引擎。

        请检查日志以加载两个模块,即 ServerListenerStreamPublisher 和 ModuleStreamPublisher。

        编辑 /usr/local/WowzaStreamingEngine/content/ana.smil 文件以调度流,并仅重新启动应用程序。无需重新启动服务器。

        【讨论】: