Wowza Community

SMIL Playlists

I have created a playlist in SMIL but I cannot get it to work. I get the following error in the server log:

MediaReaderFactory: getInstance: Missing definition for smil

I turned on debugging but on further information.

URL looks something like this:

http://localhost:1935/vod/smil:myplaylist.xml

The playlist is in “/content/”. What version of SMIL does Wowza support? I ask because I have seen some SMIL examples on the forums and some of them appear to be using a element, which doesn’t seem to appear in the latest version of the SMIL spec.

My playlist looks like this:

<smil>
<head>
</head>
<body>
<seq>
  <video src="mp4:Extremists.f4v" clipBegin="3s" dur="12s"/>
  <video src="mp4:Extremists.f4v" clipBegin="8" dur="4s"/>
</seq>	
</body>
</smil>	

Thanks

What kind of player are you using? Server-side smil file for multi-bitrate streaming works with IPhone and Silverlight. You would use a .sml extension, and the URLs would be:

IPhone

http://localhost:1935/vod/smil:myplaylist.smil/playlist.m3u8

Silverlight

http://localhost:1935/vod/smil:myplaylist.smil/manifest

See the live and video on demand tutorials, multi-bitrate section for more details.

If you are trying to do muti-bitrate streaming with Flash player, there are links in the above tutorials to an Adobe article. But be aware that it is must more complicated then multi-bitrate with IPhone and Siliverlight and might be disappointing. You might want to hold out for Flash HTTP Streaming in Flash player 10.1 and forthecoming support for that in Wowza, including multi-bitrate which should be much better. No eta, but it is upcoming on the Flash and Wowza sides.

Meanwhile, if you want to tackle Flash rtmp multi-bitrate, you can also look at JW Player using a client-side playlist, and works, such as it is, with Wowza:

http://www.longtailvideo.com/support/jw-player/jw-flv-player-v4/27/bitrate-switching

Richard

There two ways to do it. A client-side method and server-side method. In both cases (confusingly) it is called a server-side playlist. The client-side server-side playlist is the classic method:

netstream.play(“example1.flv”,0,-1,true);

netstream.play(“example2.flv”,0,-1,false);

The server-side server-side playlist is done like this:

http://www.wowza.com/community/t/-/241

Sorry this is confusing, but the term “server-side playlist” was coined too soon, and can now refer to several things that are either implemented differently (as in the above two methods) or have very different uses and behaviors (as in the Stream class streams), or the Smil files for HTTP streaming.

Richard

There is not smil file for vod playlist, or any way at present to do vod playlist for IPad.

Richard

Rui,

Wowza cannot meet this exact requirement at present: vod pre-roll before live across client types.

You can do vod before live with Flash RTMP clients only, but it is not all serve-side. You need to listen for “NetStream.Play.Stop” notification in NetStream onStatus handler when playing the pre-roll then play the live stream.

You can do intermittent insertion, like tv advertisement using the Stream class or the IPublishingProvider API. Here are some examples

https://www.wowza.com/docs/how-to-schedule-streaming-with-wowza-streaming-engine-streampublisher

https://www.wowza.com/docs/how-to-control-stream-class-streams-dynamically-modulestreamcontrol

https://www.wowza.com/docs/how-to-switch-streams-using-stream-class-streams

https://www.wowza.com/docs/how-to-use-ipublishingprovider-api-to-publish-server-side-live-streams

Richard

Thanks for your response. It’s a Flex client.

I think my SMIL example is confusing. Should have used f4v files with different names :slight_smile:

I am not trying to do multi-bitrate streaming. I wanted to create a sequence from a number of video clips that would play one after the other.

Also, the URL I gave was incorrect.

Should have been over “rtmp” and not “http”, e.g. rtmp://localhost:1935/vod/sml:myplaylist.xml

I assumed that I could use the SMIL file to get Wowza to assemble a sequence/playlist server-side and serve it to the client over RTMP.

I managed to achieve this with the Java API using the Stream class, and setting the application type to “live”. I thought it would be easier to assemble a SMIL file instead but I am guessing - after reading your response - that I can’t do this?

Thanks again

If I wont play sequence of mp4 files on IPad What does smil file look like ?

Hi all,

I need to make a sequence of media on my live streams.

The idea is:

  • user requests live stream (whatever client: flash player, iphone, silverlight, …)

  • wowza prepends a pre-recorded video and sends it

  • wowza then transmits the live stream from the remote source at venue site

I need this to be done on wowza site to make sure that we prepend this video on all requests, whatever the client.

The first approach was to create a .smil file, like this: