Upgrade Wowza 4.4.x to 4.5.0
I made some posts before about the upgrade process. I decided to create a new post on it.
Release Notes 4.5.0: https://www.wowza.com/forums/content.php?836-Wowza-Streaming-Engine-4-5-0-Release-Notes
Download package: https://www.wowza.com/portal/account
You need a wowza acccount now (Don’t worry its free)
NOTE: Before you start the upgrade make sure you have manually backupped all configuration files (applications) of your wowza server. The update of wowza will create a backup, but it won’t backup the applications. You could manually backup them by backing up your entire /usr/local/WowzaStreamingEngine/ directory
You dont need a new developer license when upgrading, it won’t ask you for the license at an upgrade. It looks like it should be easier to upgrade Wowza now to a newer version. I am using a developer license in this process to show how to upgrade.
My WowzaStreamingEngine server is running on: Ubuntu server 16.04 64 bit (older versions will work too)
From this point i will start the upgrade. This is a guide as is. Always try to upgrade in a test environment.
Note: Always make an extra backup of your wowza system.
Step1: download update
Go to the tmp folder
Download the zip package to your server:
Where WOWZADOWNLOAD is the link you can copy from the My Downloads tab
I assume you have zip installed on your server. If not:
apt-get install unzip
Step3: copy update file
Copy the zip file to the update directory (/usr/local/WowzaStreamingEngine/updates/)
cp WowzaStreamingEngine-Update-4.5.0.zip /usr/local/WowzaStreamingEngine/updates/
Step4: update directory
Go the update directory:
and unzip the file to a newly made directory based on the same name as the zip file. The -d says it should be unzipped to a directory
unzip WowzaStreamingEngine-Update-4.5.0.zip -d WowzaStreamingEngine-Update-4.5.0
You will now see the zip file but also a directory with all the files unzipped
Step5: linux update
Time to start the update process. In this case im using the linux version, so we have to go to the linux update directory
Step6: permissions update.sh
Before we can run the update we have to set some permissions on the update.sh file
chmod +x update.sh
Step7: run the update
Make sure to stop the StreamingEngine and StreamingEngineManager first. If you don’t you will get a notice about it (see step 8 + 9)
service WowzaStreamingEngine stop service WowzaStreamingEngineManager stop
Time to run the update and see if we are getting issues
First error: Streaming Engine still running:
Verifying running as administrative user Verifying Java 1.6 or greater is available Locating installation directory Wowza Streaming Engine appears to be running. Please stop it before continuing.
We have to stop the running server first. The command depends on the distro you are using. use the command you normally use to stop the wowza server
service WowzaStreamingEngine stop
After the server has stopped. we start again from Step7. Run the update.sh again
Step9: error 2
Second error: Streaming Engine Manager still running
Verifying running as administrative user Verifying Java 1.6 or greater is available Locating installation directory Wowza Streaming Engine Manager appears to be running. Please stop it before continuing.
So also with the previous one we have to stop the service first
service WowzaStreamingEngineManager stop
Ok. let’s try it again from Step7 to run the update.sh again
Step10: upgrade process
This is the result im looking for:
Verifying running as administrative user Locating Wowza Streaming Engine installation directory Running Wowza Streaming Engine update installer Path: /usr/local/WowzaStreamingEngine-4.4.1/updates/WowzaStreamingEngine-Update-4.5.0/linux/.. This will update your installation at: /usr/local/WowzaStreamingEngine-4.4.1 Currently installed version : Wowza Streaming Engine 4.4.1 - Build 17882 This will update your installation to : Wowza Streaming Engine 4.5.0 - Build 18676 Are you sure you want to continue? (y/n)
Are you sure you want to continue?: Y
And again some information:
Changes in Wowza Streaming Engine 4.5.0 Build 18676 ======================================== * Fixed incorrect logging for OutgoingStreamConfig REST API call * Added REST API end points to list and purge items from MediaCache * Added IP white/black listing for LiveStreamRecord HTTPProvider * Fixed multicast in/out interface address assignments within the VHost configuration section of Wowza Streaming Engine Manager * Updated VP9 RTP depacketizer and packetizer to latest specification version (draft-ietf-payload-vp9-01) * Fixed OPTIONS request to provide CORS headers when an invalid application/instance is requested * Fixed REST API JSON error content type to be consistent with non error response * Turned off Apple HLS (cupertino) cupertinoAutoAdjustDurationIfOutOfBounds system by default (also improved logging when features is on) * Fixed playback issue with MPEG-DASH on Chrome on OSX by adding sample flags to MP4 fragment data to make key frames (trun box) * Fixed Push Publishing Wowza Streaming Cloud Stream Targets so that audio-only streams can be pushed successfully * Fixed Wowza Streaming Engine Manager Stream Targets screen to eliminate unintended screen refreshes. * Fixed UDP port allocation/deallocation issue with RTSP/RTP streaming * Fixed Stream Targets bug where all enabled targets show an Active status when any/only one of them is actually active * Added support for Google Cloud Storage to MediaCache in Wowza Streaming Engine * Fixed a logic bug in the updatetool, post uninstall actions, that caused the updatetool to log out an error when there wasn't one and to not log an error when there was. In the later case, the "Restoration complete" message would not be shown * Added query parameter dvrConverterDebugConversions to nDVR converter REST API to allow debug to be enabled per conversion request * Added support in push publishing (stream targets) to push Apple HLS (cupertino) streams to Akamai over SSL/HTTPS (today only controllable through application properties) * Added push publishing mapfile (PushPublishMap.txt) property "sendSSL" to control use of SSL when POSTing Apple HLS (cupertino) streams to Akamai (valid values are "true" and "false", default is false). Use of this option requires Java 1.7 or newer * Added push publishing mapfile (PushPublishMap.txt) property "playbackSSL" to control use of SSL (http vs https) in the playlist and chunklist for Apple HLS (cupertino) streams pushed to Akamai (valid values are "true" and "false", default is false (http) ). Use of this option requires Java 1.7 or newer * Fixed a bug in the Live to VOD clip extraction code that was causing the conversion start time to be overwritten with the default value. This caused all conversions to start at the beginning of the DVR store * Fixed a bug in MPEG-DASH vod streaming with CENC that cause a exception and failure on segment requests * Fixed Push Publishing Akamai HLS ABR rendition ordering to maintain order from map file Press Enter to continue. etcetera.....
Press Enter several times
The backup and upgrade process will start
Detected operating system: linux Checking file versions. Backing up current files. Successfully created backup: /usr/local/WowzaStreamingEngine-4.4.1/updates/backup/4.5.0.zip Updating installation. The update process completed successfully. Keep a copy of this update zipfile. It is needed in case you want to restore to the previous version. Only this version of the update will restore the prior version replaced by this update. root:/usr/local/WowzaStreamingEngine/updates/WowzaStreamingEngine-Update-4.5.0/linux#
and… it should be done?
Yes it is. In the message it says a backup has been made. Lets check if it did.
And yes, the 4.5.0.zip file is there. The update is completed. Time to start the services again
Step11: Restart the services
Time to bring the server back online
I thought in a logical way to start the StreamingEngine first and after that the StreamingManager, but i have to do it the other way around. So first start the EngineManager and after that the Engine:
service WowzaStreamingEngineManager start service WowzaStreamingEngine start
Step12: browser manager
Time to go to your browser and open the manager interface <ipaddress>:8088 and login
in my scenario i made some test applications before i started the update process. All of them are still there.
I added a post on the wowza forum, why the applications and conf directory isn’t being backuped. https://goo.gl/9MgUFR
second question is why suddenly the WowzaStreamingEngine has been symlinked. Because i daily backup my Wowza directory, but it stopped working due to the symlink directory it can’t follow.. Hopefully will get some answers on that.