Wowza Community

Retrieve Publisher or Stream from IMediaStream?

I’m trying to implement this Publish server-side live streams with the Wowza Streaming Engine Java API. My goal is when an incoming live stream has a connection issue that causes an unpublish or destroy, then to fill the published stream with a server-side video to fill in the “empty space”. Unfortunately when I try to create a publisher (in “onStreamDestroy”) with the same stream name is says “Stream name already in use: <stream_name>”. My guess was to try to get the existing Publisher from the Stream except I don’t have any Stream objects available, only IMediaStream. Is there a way to get a Publisher from IMediaStream? Or is there an alternative solution to my goal?

There are hundreds of assignment help providers in Ireland. But AllAssignmentHelp is one of them. They are offering the best assignment help services to the students at nominal charges. do my assignment Ireland

Yes there is and I wrote a blog on it. Wowza has a module just for situations like this. Should you have your stream drop, the connection will remain and it will run a filler mp4 video until your encoder or stream reconnects. This way you don’t drop all your viewer connections and they also aren’t stuck with a black screen.

Hope it helps:

https://www.wowza.com/blog/loop-a-pre-roll-until-a-live-stream-starts

1 Like

Gotcha. Yes you would need to know the names of the streams to enter them in the SMIL file. Your solution may require a little extra custom work, but I’d submit a support ticket if I were you and see if our engineers know of a solution I don’t.

If it does indeed need some custom work, no worries, we have a Hire a Consultant forum here and we have Pro Services at Wowza as well, but I’d give the free support ticket a try first. Might be a Java trick that could be used to pull auto pull the random stream name.

https://www.wowza.com/support/open-ticket

I saw the page before, but it didn’t read like the stream was being published. I looked at the source code on GitHub and found how the switching is being done, but it says my stream is null

Stream stream = (Stream)appInstance.getProperties().get(streamName);

My implementation uses random GUIDs for stream names, so I cannot use the modules as described in your link. Is the stream being stored in WMSProperties from another step? Looking through the code it doesn’t appear in the GitHub copy.

Hey there,
Thank you for providing this solution.