Hi ,
I am trying to play dynamic rtmp live stream via a smil file. I am using StrobeMediaPlayer for playing the smil file. smil file is hosted externally on our webserver.
I am publishing the stream to origin application (rtmp://[ip:1935]/origin) and trying to play the stream from edge application.
smil file looks like this
<smil title="SMIL file for live streaming">
<head>
<meta base="rtmp://[ip]:1935/Edge/_definst_"/>
</head>
<body>
<switch>
<video src="mp4:myStream_360p" system-bitrate="534000">
<param name="audioBitrate" value="64000" valuetype="data"/>
<param name="videoBitrate" value="470000" valuetype="data"/>
<param name="videoCodecId" value="avc1.66.21" valuetype="data"/>
<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
</video>
<video src="mp4:myStream_240p" system-bitrate="272000" >
<param name="audioBitrate" value="32000" valuetype="data"/>
<param name="videoBitrate" value="240000" valuetype="data"/>
<param name="videoCodecId" value="avc1.66.21" valuetype="data"/>
<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
</video>
<video src="mp4:myStream_160p" system-bitrate="136000" >
<param name="audioBitrate" value="16000" valuetype="data"/>
<param name="videoBitrate" value="120000" valuetype="data"/>
<param name="videoCodecId" value="avc1.66.21" valuetype="data"/>
<param name="audioCodecId" value="mp4a.40.2" valuetype="data"/>
</video>
</switch>
</body>
</smil>
When the player starts it plays the myStream_360p as expected . But when it tries to go to a lower bandwidth it calls netstream.play2(lower_index) and expects wowza to return back NetStream.Play.Transition , which never happens. hence player is stuck playing only one stream.
I also noticed that when i try to play the stream from origin app the wowza is returning the NetStream.Play.Transition and switch is happening properly.
Any ideas why this might be happening ?