Wowza Community

Unable to setup scheduler

Hi, I’m quite new to this.

I have a .mp4 file hosted on Amazon CloudFront and I want to broadcast “live” each half hour. I managed to create a smil file to broadcast the file as a loop, but I’m unable to setup the smil correctly for scheduling.

The stream is a rtmp.mp4 file coming from CloudFront.

This .smil file is working (connecting the smil file to my app as mediacaster - liverepeater):

<smil title="">
<body>
   <switch>
      <video height="360" src="motion.stream" width="640">
         <param name="videoBitrate" value="128000" valuetype="data"></param>
         <param name="audioBitrate" value="64000" valuetype="data"></param>
      </video>
   </switch>
</body>
</smil>

So I just took the video node and add it to the playlist in a scheduler. This is not working (connecting the smil file to my app as mediacaster - liverepeater):

<smil title="Scheduler">
<body>
   <stream name="Stream1"></stream>
   <playlist name="pl2" playOnStream="Stream1" repeat="true" scheduled="2014-11-17 16:00:00">
      <video height="360" src="motion.stream" width="640" start="0" length="-1">
         <param name="videoBitrate" value="128000" valuetype="data"></param>
         <param name="audioBitrate" value="64000" valuetype="data"></param>
      </video>
   </playlist>
   <playlist name="pl3" playOnStream="Stream1" repeat="true" scheduled="2014-11-17 16:30:00">
      <video height="360" src="motion.stream" width="640" start="0" length="-1">
         <param name="videoBitrate" value="128000" valuetype="data"></param>
         <param name="audioBitrate" value="64000" valuetype="data"></param>
       </video>
   </playlist>
		
</body>
</smil>

I get this error in error.log:

ERROR server comment 2014-11-17 21:04:40 - - - - - 10657.303 - - - - - - - -

ModuleStreamPublisher.onAppStart: [live-s3/definst]: ServerListenerStreamPublisher Error from playlist manager is ‘ServerListenerStreamPublisher Could not find playlist file: /usr/local/WowzaStreamingEngine/content/yamaska.smil’: java.lang.Exception: ServerListenerStreamPublisher Error from playlist manager is 'ServerListenerStreamPublisher

Could not find playlist file: /usr/local/WowzaStreamingEngine/content/yamaska.smil’|at com.wowza.wms.plugin.collection.serverlistener.ServerListenerStreamPublisher.loadSchedule(ServerListenerStreamPublisher.java:495)|at com.wowza.wms.plugin.collection.module.ModuleStreamPublisher.loadSchedule(ModuleStreamPublisher.java:88)|at com.wowza.wms.plugin.collection.module.ModuleStreamPublisher.onAppStart(ModuleStreamPublisher.java:62)|at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)|at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)|

WARN server comment 2014-11-17 21:04:40 - - - - - 10657.323 - - - - - - - - HTTPStreamManager.connectStream[live-s3/definst]: MediaList is empty.

Not quite sure what to try next.

Martin T.

Hello Martin,

When doing scheduled streams, the VOD files need to be on your local server, or accessed through MediaCache.

If your files are stored on the S3 bucket you will need to configure MediaCache to have Wowza access the videos and cache them locally, as described here:

How to scale video on demand streaming with Media Cache

There is an amazons3 prefix that would be the one you want to use.

I hope this helps get you sorted out.

Kind regards,

Salvadore

Hi Martin,

You can use MediaCache resource in live application as a source for Stream class streams.

I think you will need to incorporate this module into the workflow as well:

How to use different Media Cache Sources for SMIL files and VOD assets (MediaCacheSourceSelector)

Then you can reference resource located on a web server in the schedule.smil:

<smil>
    <head>
    </head>
    <body>
        <stream name="Stream1"></stream>        
        <playlist name="pl1" playOnStream="Stream1" repeat="true" scheduled="2009-12-11 16:24:00">
            <video src="mp4:http/[web-content-server]/sample.mp4" start="0" length="-1"/>
        </playlist>
    </body>

Playback in Wowza LiveVideoStreaming player:

Server: rtmp://[wowza-address]:1935/live

Stream: Stream1

I hope this helps.

Salvadore

Hi Martin, it works in my test. Did you restart the application? If you modify the .smil you will need to restart the application, and possibly the server.

See if that helps. Everything else seems to look correct. Only other thing I can think of is to check the server timezone, make sure you are synchronized.

Thanks,

Salvadore

Thx for the response Salvadore.

I think there is something I don’t get.

I can only use MediaCache on VOD Edge application, but I can only connect SMIL file to live application.

I am not quite sure I can use a reference to a MediaCache file for use with a live app.

Thx in advance

Martin T.

Thx Salvadore.

It’s now “working”.

The problem I am having now is that the scheduled time don’t seem to matter when launching a streaming.

This is my smil file.

<?xml version="1.0" encoding="UTF-8"?>
<smil title="Scheduler">
	<head>
    </head>
    <body>
        <stream name="Stream1"></stream>        
		 <playlist name="pl2" playOnStream="Stream1" repeat="false" scheduled="2014-11-19 17:21:00">
			<video src="mp4:amazons3/video1.mp4"  start="0" length="-1"/>
			<video src="mp4:amazons3/video2.mp4"  start="0" length="-1"/>
			<video src="mp4:amazons3/video3.mp4" start="0" length="-1"/>
        </playlist>
    </body>
</smil>

Video1 is 3 minutes long

Video2 is 12 minutes

and video3 is 3 minutes.

If I start the server and connect the smil file before the scheduled time, the first video in my playlist get launch at soon as I connect to the file. ex: I launched the feed at 17:17:00 and video1.mp4 started right away, but I expected that nothing would play.

If I start the server and connect the smil file after the scheduled time, the first video will launch at the beginning of the playlist, ignoring the offset of the playlist. ex: I launched the feed at 17:31:00 I expect that the video2.mp4 would be at 7 min, but instead video1.mp4 started at the beginning.

Do I misunderstood what the scheduled date actually means?