Hi,
Now I am trying to achieve the rtmp dynamic streaming with origin/edge configuration.
I am in trouble as to the behavior of the mediacaster on the edge.
The rough configuration is as follows.
FMLE—>origin(liverepeater-origin)—>edge(liverepeater-edge)—>client
The scenario is as follows.
-
publish the multi-bitrate streams (e.g. 1.stream/2.stream/3.stream) from FMLE 3.2 to the origin.
-
the client connects to the edge and calls FCSubscribe for all the renditions (1.stream/2.stream/3.stream).
-
the mediacaster on the edge starts to pull the streams (three streams) from the origin (StreamNameAlias directs the corresponding streams on the origin).
-
the client calls play a stream (e.g. 3.stream).
-
the client switches the stream to another rendition (e.g. 1.stream).
-
the client (user) stops the stream and close the netstream (1.stream).
-
the edge destroys the stream (1.stream) and closes the session.
-
after a while (one minute or so), mediacaster resets the connections (established at 3 above) only for 1.stream and 2.stream (NOT FOR 3.stream).
-
eventually, the mediacaster on the edge continues to pull 3.stream although no client is connected to that stream.
-
after a few hours, when the client connects to the edge and starts playing (in the same way as 2~4 above), it CAN play the first rendition (e.g. 3.stream).
-
but, when it tries to switch to another rendition (e.g. 1.stream) (in the same way as 5 above), no data is sent from the edge to the client (client is fallen into buffering state and never get back) although all the streams have reached the edge and the edge receives the switch request from the client.
-
this situation (11 above) continues until the application on the edge or the stream (3.stream) is manually reset by JConsole or something.
What I confirmed is as follows.
-
this happens in case of another type of mediacaster (not only liverepeater but also rtp receiving the ts/udp streams)
-
this does not happen if the stream destroyed is identical to the stream played.
-
this does not happen if all the streams are being pulled all the time (by using the StartupStreams.xml or stream manager) regardless of the activities of the client.
-
this happens both in wowza 2.2.3 subscription and 2.2.4.07 development environments.
Is there any way (or workaround) to avoid this behavior of the mediacaster WITHOUT using StartupStreams.xml, stream manager or MediaCaster API?
(for example, all the streams are reset automatically when no client is connected, or the edge keeps pulling all the streams after first FCSubscribe calls even if no client is connected)
Any clue would be appreciated.
Regards
catalog