Wowza Community

Graceful restart with a live stream running?

I’ve read through the quickstart and the users manual but haven’t seen an answer to this.

If I have one or more customers streaming live through my EC2 Wowza instance, and I make a change to the system config (to add another application, for example), is there any way to get Wowza to read the new config without doing a complete restart? Basically, doing the same function as the graceful restart that the Apache server offers? I’d really like to do my config updates without blowing live streams off the air. Perhaps doing a "kill -USR1 " or something similar?

If you add a brand new application, you do not have to restart Wowza. If you make a change to an application, it will have to be re-loaded before new connections are affected by the change. You can do that with JConsole. Unloading one application will only affect clients connected to that application, but not others.

You should be able to add or change a VHost configuration similarly.

If you add a jar file to the Wowza lib folder, or make a change to Server.xml, or log4j.properties, you have to restart Wowza to make that change take affect.

Richard

You can shutdown the Application or an ApplicationInstance. ScreenShot:

Richard

You can use this method with a scheduler:

https://www.wowza.com/docs/how-to-set-up-a-command-line-interface-to-wowza-api-to-start-stop-vhost-using-jmx

Richard

No, there is not a way.

Richard

There are a couple of steps to enabling JMX:

https://www.wowza.com/docs/quick-start-guides

Richard

The player is just playing out the stream buffer, I’m sure

Richard

You have to change /conf/Server.xml /JMXRemoteConfiguration /Enable to “true”, then restart Wowza

https://www.wowza.com/docs/quick-start-guides

Richard

I just set that all up and tested, vod mediacache, then shutdown the application instance with JConsole like this:

Then the player stopped right away.

Richard

Stefan,

The ApplicationInstance is the run-time, instantiated Application. Application.shutdownAppInstance(instanceName) is how to do what you want to do.

Richard

You will have to provide much more info/detail as to what you are doing and what you want to accomplish.

Richard

A live stream? What is the source? Is it a MediaCaster source, e.g. IP camera or mpeg-ts encoder? Those you can control with the MediaCaster system. If it is a Live RTMP encoder, those are hard to stop from Wowza. You can shutdown the client, but some of them will re-connect right away.

Richard

Wowza cannot control a RTMP Live encoder, except to disconnect it. You have to re-start in the encoder

Richard

FMLE keeps trying to re-connect. It’s not Wowza doing that, it’s FMLE.

Richard

If you shut down the FMLE connection’s connectection you cannot turn that back on. I’m not really sure what you are seeing in terms of reboot, but you can only disconnect a live RTMP encoder client. You cannot turn that client back on. It can re-connect, but it will have another clientID.

Richare

No, I would have told you already.

With MediaCaster streams that are pulled from a source (IP camera, mpeg-ts encoders) you have the server-side control that you describe but, not from a Live RTMP Encoder.

Richard

The screenshot shows that no applications are started. There would be an application folder that you can expand to drill-down to application instances, etc.

You can start an application by connecting to it with any type of client. For example if you try to play a stream, even one that does not exist, in any playback client, Wowza will start the application if it exists. Then you will see it in JConsole.

You can also start an application in JConsole, just below were you are in VHost > Operations > startApplicationInstance: enter an app name in the first box, and an app instance name (or blank) in the 2nd box.

Richard

Hello Richard,

If I shutdown livestream application with jconsole like described in screenshot from upper thread I have to start all streams in Stream Manager again.

Is there a way just to reload application so I have all started streams saved?

Thakns,

K

I’ve configured my EC2 instance to allow remote JConsole connection, and I can connect from my desktop Linux machine just fine. I see the WowzaMediaServerPro entry on the MBeans tab. If I wanted to restart my ccrepeater application, how would I do so using JConsole?

Perfect - exactly what I was looking for. Thanks.