I have tested this out using all the different configurations you have described and I cant reproduce the behavior you are experiencing.
I would suggest starting with a fresh application, and follow the guide closely. Start out with either the server listener or the application module configured to test that you can get the desired results.
If this does not work then you can post your application.xml file and your .smil file in the forum. When posting .xml, .smil files etc to the forum please wrap them in code tags. (the little pound sign above the message box when posting)
Or you can open a ticket by sending a zipped copy of your /conf and /logs folders to support@wowza.com Please include your .smil file with the zip files when opening a ticket.
Thank you.
Salvadore
Hello salvadore, sorry that it took me so long to answer but I’ve been really busy to get and do all sort of testings.
So here is what i’ve done:
Created a live application called “diferido”
Added com.wowza.wms.plugin.collection.serverlistener.ServerListenerLoadAndLockAppInstances to server listeners
Added loadAndLockApplications to server properties at /root/server with string value “diferido”
Added com.wowza.wms.plugin.collection.module.ModuleStreamPublisher to modules on application “diferido”
Added streamPublisherSmilFile to applicacion “diferido” properties at /root/application with string value “streamschedule.smil”
Created “streamschedule.smil” at /usr/local/WowzaStreamingEngine-4.0.3/content with the following lines:
<smil>
<head>
</head>
<body>
<stream name="Stream_1"></stream>
<stream name="Stream_2"></stream>
<playlist name="pl1" playOnStream="Stream_1" repeat="false" scheduled="2014-10-15 18:50:00">
<video src="mp4:myStream_0.mp4" start="0" length="60"/>
</playlist>
<playlist name="pl2" playOnStream="Stream_2" repeat="false" scheduled="2014-10-15 18:50:00">
<video src="mp4:myStream_720p_0.mp4" start="0" length="60"/>
</playlist>
<playlist name="pl3" playOnStream="Stream_1" repeat="false" scheduled="2014-10-15 18:52:00">
<video src="mp4:myStream_0.mp4" start="0" length="60"/>
</playlist>
<playlist name="pl4" playOnStream="Stream_2" repeat="false" scheduled="2014-10-15 18:52:00">
<video src="mp4:myStream_720p_0.mp4" start="0" length="60"/>
</playlist>
</body>
</smil>
Created diferido.smil from wowza manager and added 2 video SMIL streams with src, language, width, height, etc… The resulting file was stored at /usr/local/WowzaStreamingEngine-4.0.3/content with the following lines:
<?xml version="1.0" encoding="UTF-8"?>
<smil title="diferido">
<body>
<switch>
<video height="1080" src="Stream_1" systemLanguage="es" width="1920">
<param name="videoBitrate" value="2500000" valuetype="data"></param>
<param name="audioBitrate" value="128000" valuetype="data"></param>
</video>
<video height="720" src="Stream_2" systemLanguage="es" width="1280">
<param name="videoBitrate" value="1500000" valuetype="data"></param>
<param name="audioBitrate" value="96000" valuetype="data"></param>
</video>
</switch>
</body>
</smil>
Restarted wowza from CLI (with service WowzaStreamingEngine stop/start) and manager (server/restart)
This is what happened:
As soon as Wowza service starts, Stream_1 and Stream_2 appear on Applications/diferido/incoming streams even if scheduled time hasn’t come yet, this streams have “active” status.
When trying to view this streams before the scheduled time arrives with test player it says “status: playing”
When trying to view this streams when the scheduled time arrives with test player it says “status: started playing Stream_1”
When the scheduled time of streaming finishes both Stream_1 and Stream_2 dissapear from “incoming streams”
When the second scheduled time of streaming arrives nothing happens, “incoming streams” have no stream and of course if you try to watch either Stream_1 or Stream_2 on test player it says no such stream or file exists.
I’ve also loaded diferido.smil from jwplayer (for adaptative bitrate) and this are the results:
When trying to load jwplayer before schedule time comes a loading symbol appears.
When scheduled time comes the video stream starts playing with all options available and working, 1080, 720 and auto.
When the first scheduled stream finishes jwplayer stops and show a “reload” symbol
When “reloading” Before or during second scheduled stream an “Error loading stream: ID not found on server” message appears.
This is my application.xml file (located at /usr/local/WowzaStreamingEngine-4.0.3/conf/):
<?xml version="1.0" encoding="UTF-8"?>
<Root version="1">
<Application>
<Name></Name>
<AppType></AppType>
<Description></Description>
<!-- Uncomment to set application level timeout values
<ApplicationTimeout>60000</ApplicationTimeout>
<PingTimeout>12000</PingTimeout>
<ValidationFrequency>8000</ValidationFrequency>
<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
<MaximumSetBufferTime>60000</MaximumSetBufferTime>
<MaximumStorageDirDepth>25</MaximumStorageDirDepth>
-->
<Connections>
<AutoAccept>true</AutoAccept>
<AllowDomains></AllowDomains>
</Connections>
<!--
StorageDir path variables
${com.wowza.wms.AppHome} - Application home directory
${com.wowza.wms.ConfigHome} - Configuration home directory
${com.wowza.wms.context.VHost} - Virtual host name
${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
${com.wowza.wms.context.Application} - Application name
${com.wowza.wms.context.ApplicationInstance} - Application instance name
-->
<Streams>
<StreamType>default</StreamType>
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, mpegdashstreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
<LiveStreamPacketizers></LiveStreamPacketizers>
<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
<Properties>
</Properties>
</Streams>
<Transcoder>
<!-- To turn on transcoder set to: transcoder -->
<LiveStreamTranscoder></LiveStreamTranscoder>
<!-- [templatename].xml or ${SourceStreamName}.xml -->
<Templates>${SourceStreamName}.xml,transrate.xml</Templates>
<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
<Properties>
</Properties>
</Transcoder>
<DVR>
<!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
<!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
<!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->
<!-- If this is a dvrstreamingrepeater, define Application/Repeater/OriginURL to point back to the origin -->
<!-- To turn on DVR recording set Recorders to dvrrecorder. This works with dvrstreamingpacketizer -->
<Recorders></Recorders>
<!-- As a single server or as an origin, set the Store to dvrfilestorage-->
<!-- edges should have this empty -->
<Store></Store>
<!-- Window Duration is length of live DVR window in seconds. 0 means the window is never trimmed. -->
<WindowDuration>0</WindowDuration>
<!-- Storage Directory is top level location where dvr is stored. e.g. c:/temp/dvr -->
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
<!-- valid ArchiveStrategy values are append, version, delete -->
<ArchiveStrategy>append</ArchiveStrategy>
<!-- Properties for DVR -->
<Properties>
</Properties>
</DVR>
<TimedText>
<!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt, vodcaptionprovidersrt, vodcaptionproviderscc -->
<VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
<!-- Properties for TimedText -->
<Properties>
</Properties>
</TimedText>
<!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming, dvrchunkstreaming -->
<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming,mpegdashstreaming</HTTPStreamers>
<MediaCache>
<MediaCacheSourceList></MediaCacheSourceList>
</MediaCache>
<SharedObjects>
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}</StorageDir>
</SharedObjects>
<Client>
<IdleFrequency>-1</IdleFrequency>
<Access>
<StreamReadAccess>*</StreamReadAccess>
<StreamWriteAccess></StreamWriteAccess>
<StreamAudioSampleAccess></StreamAudioSampleAccess>
<StreamVideoSampleAccess></StreamVideoSampleAccess>
<SharedObjectReadAccess>*</SharedObjectReadAccess>
<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
</Access>
</Client>
<RTP>
<!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
<Authentication>
<PublishMethod>block</PublishMethod>
<PlayMethod>none</PlayMethod>
</Authentication>
<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
<AVSyncMethod>senderreport</AVSyncMethod>
<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
<IdleFrequency>75</IdleFrequency>
<RTSPSessionTimeout>90000</RTSPSessionTimeout>
<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
<RTSPBindIpAddress></RTSPBindIpAddress>
<RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
<RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
<IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
<!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
<Properties>
</Properties>
</RTP>
<MediaCaster>
<RTP>
<RTSP>
<!-- udp, interleave -->
<RTPTransportMode>interleave</RTPTransportMode>
</RTSP>
</RTP>
<StreamValidator>
<Enable>true</Enable>
<ResetNameGroups>true</ResetNameGroups>
<StreamStartTimeout>20000</StreamStartTimeout>
<StreamTimeout>12000</StreamTimeout>
<VideoStartTimeout>0</VideoStartTimeout>
<VideoTimeout>0</VideoTimeout>
<AudioStartTimeout>0</AudioStartTimeout>
<AudioTimeout>0</AudioTimeout>
<VideoTCToleranceEnable>false</VideoTCToleranceEnable>
<VideoTCPosTolerance>3000</VideoTCPosTolerance>
<VideoTCNegTolerance>-500</VideoTCNegTolerance>
<AudioTCToleranceEnable>false</AudioTCToleranceEnable>
<AudioTCPosTolerance>3000</AudioTCPosTolerance>
<AudioTCNegTolerance>-500</AudioTCNegTolerance>
<DataTCToleranceEnable>false</DataTCToleranceEnable>
<DataTCPosTolerance>3000</DataTCPosTolerance>
<DataTCNegTolerance>-500</DataTCNegTolerance>
<AVSyncToleranceEnable>false</AVSyncToleranceEnable>
<AVSyncTolerance>1500</AVSyncTolerance>
<DebugLog>false</DebugLog>
</StreamValidator>
<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
<Properties>
</Properties>
</MediaCaster>
<MediaReader>
<!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
<Properties>
</Properties>
</MediaReader>
<MediaWriter>
<!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
<Properties>
</Properties>
</MediaWriter>
<LiveStreamPacketizer>
<!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
<Properties>
</Properties>
</LiveStreamPacketizer>
<HTTPStreamer>
<!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
<Properties>
</Properties>
</HTTPStreamer>
<Manager>
<!-- Properties defined are used by the Manager -->
<Properties>
</Properties>
</Manager>
<Repeater>
<OriginURL></OriginURL>
<QueryString><![CDATA[]]></QueryString>
</Repeater>
<StreamRecorder>
<Properties>
</Properties>
</StreamRecorder>
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</Class>
</Module>
<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>
<Module>
<Name>flvplayback</Name>
<Description>FLVPlayback</Description>
<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
</Module>
</Modules>
<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
<Properties>
</Properties>
</Application>
</Root>
thank you very much for your help