Wowza Community

Question about server-side playlist playback

Hi guys,

I would use the server-side playlist to broadcast a fake live stream. But I noticed a behavior that I did not understand. I’ll explain.

Lets take a look at my playlist :

<playlist name="playlist_01" playOnStream="stream_01" repeat="false" scheduled="2014-03-27 16:00:00">
	<video src="mp4:video_01.mp4" start="0" length="100"/>
	<video src="mp4:video_02.mp4" start="0" length="100"/>
	<video src="mp4:video_03.mp4" start="0" length="100"/>
	<video src="mp4:video_04.mp4" start="0" length="100"/>
	<video src="mp4:video_05.mp4" start="0" length="100"/>	
</playlist>

My question is :

Normally, or that what I thought, when I play “stream_01” at 4:04:00 p.m. I must get the 40th second of “video_03” :

4:00:00 p.m. + (video_01: 0:01:40) + (video_02: 0:01:40) + (video_03: 0:00:40)

but it plays “video_01”.

So, could you please tell me if this is a bug on wowza or this is the normal behavior ? and what should I do so that I get “video_03” at 4:04:00 p.m.

Thanks,

Hi there, you could try setting the length of each video to -1 for the length parameter. That is if you are trying to play the entire video. Any positive value will play the source for that number of seconds.

Salvadore

Okay, so you want video_3 to start at the 40 second mark of the video at exactly 4:04.00?

It looks like the first two videos are only 3 minutes and 20 seconds long combined with 100 as the length parameter, so that should put video_3 starting from the beginning at 4:03.20 pm.

If you had move data in video_1 and _ 2 you could increase the length to fill out the time to 4:04.00 pm. Or create a second playlist that starts at 4:04.00 that plays video_3, and have a 40 seconds of “dead air”.

If you want video_3 to start playing at the 40 second mark, you will need to change the start time from 0 to 40.

If I am not understanding your question correctly, I apologize.

Salvadore

What guide are you following for this? Also, what version of Wowza are you running?

Here is a guide that will achieve “fake live” with static content:

How to do basic server-side publishing with Stream class streams

Salvadore

Are all the clients local? Or could there be any network factors to consider?

You can start Wowza in stand-alone mode, [instal-dir]/bin/startup.bat(startup.sh on Mac) and see the switching in the console.

Did you configure just the ServerListener, or just the Module, or perhaps both?

Salvadore

I am glad you got this working, thanks for the update.

Salvadore

Hi Salvadore and thank you for your interest in my problem.

I explain again my problem with two examples :

  • I shedule my playlist to start at 10:00:00

  • My playlist contains 5 videos :

	- video_01 : video duration : 05:22, start playing from : 0, playing duration : 120 seconds ( 2mn)
	- video_02 : video duration : 03:55, start playing from : 0, playing duration : 120 seconds ( 2mn)
	- video_03 : video duration : 11:40, start playing from : 0, playing duration : 120 seconds ( 2mn)
	- video_04 : video duration : 07:07, start playing from : 0, playing duration : 120 seconds ( 2mn)
	- video_05 : video duration : 06:13, start playing from : 0, playing duration : 120 seconds ( 2mn)

I used 120 s instead of 100s to simplify calculation to better understand the situation :wink:

1 - working example ( I got what I want ) :

  • It’s 09:58:00, I open my player and connect to rtmp://localhost/playlist to play my stream ( stream name : stream_01 )

of course I got NetConnection.Connect.Success, and the player is waiting to playlist that will start in 2 mn ( 10:00:00 - 09:58:00 = 00:02:00 ).

At 10:00:00, the player starts ( automatically ) playing my first video ( video_01 ) from 0.

At 10:05:00, I open another player ( like the first one ), which starts playing video_03 from the second 60 ( 00:01:00 of 00:11:40 )

=> 10:00:00 + ( video_01 : 00:02:00 of 00:05:22 ) + ( video_02 : 00:02:00 of 00:03:55 ) + ( video_03 : 00:01:00 of 00:11:40 )
=> 10:00:00 + 00:02:00 + 00:02:00 + 00:01:00 = 10:05:00

I got what I want, all people watching the stream will have the same moment of the (fake) live whatever their connection times.

2 - not working example :

  • At 10:05:00, I open, for the first time, my player and connect to rtmp://localhost/playlist to play my stream stream_01, but instead it starts the second 60 of the video_03, it starts playing the first video ( video_01 ) from 0 !!

My conclusion : Either there is a bug in wowza (I think this is the most propable) or wowza server-side playlist can not be a fake live !

I hope it’s clearer now, thank you for your help.

Wowza version : 3.5.0

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

Hi all,

Thank you Salvadore for all your answers.

I think I found a solution : when I send “loadSchedule” command to wowza server to update the playlist, I’ll initiate the stream on server by playing it after receiving the validation from server that playlist was succesfully updated.