Wowza Community

Wowza Streaming Engine 4.9.0 has been released

Link to the 4.9.0 release notes:
https://www.wowza.com/docs/wowza-streaming-engine-4-9-0-release-notes

Highlights are:

Recompiled Wowza Streaming Engine with Java 17

With Wowza Streaming Engine 4.9.0, we continue the move towards Java 21 and our transition to the latest Long-Term Support (LTS) release of Java. Wowza Streaming Engine 4.9.0 was recompiled using Java 17 (OpenJDK Java SE JRE 17.0.12) but can be used with Java versions 17 or 21.

The installer and updater include a JRE for Java 21 (OpenJDK Java SE JRE 21.0.3). During updates, we verify that Java 21 is present. If Java 21 isn’t detected, the update is canceled, and you can install the JRE 21 provided with the updater before retrying the upgrade. You can manually roll back to Java 17 if needed. Older Java versions (16 and below) are no longer supported and cannot be used with Wowza Streaming Engine 4.9.0. For more details, see:

Updated various third-party libraries

To improve performance and address vulnerabilities as we transition towards Java 21, we updated and modified several third-party libraries used in Wowza Streaming Engine 4.9.0.

Major updates include newer versions of Apache Tomcat 10.1.26, Apache Ant 1.10.14, Apache Commons Codec 1.17.0, Apache Commons Text 1.12.0, Apache Log4J 2.23.1, Jackson 2.17.2, JAXB 4.0.5, Jetty Server 9.4.55, Joda-Time 2.12.7, Restlet 2.4.4, Spring Boot 3.3.1, Spring Framework 6.1.10, and Spring Security 6.2.5. Among others, these libraries were migrated or replaced:

  • Apache Commons Lang library was migrated to Apache Commons Lang 3.14.0.
  • Apache Taglibs library was replaced by the Jakarta Standard Tag Library API (jakarta.servlet.jsp.jstl-api).
  • All APIs and javax.* libraries were migrated to the new jakarta.* namespace to stay up-to-date with the Jakarta EE platform.

Note: Updates to JAR files or external libraries may introduce breaking changes in APIs, such as modified method signatures, removed methods, changes to class structures, or visibility modifiers. This may lead to compilation or runtime errors if the application relies on behavior from the previous API version.

To confirm what specific libraries were added, updated, or removed in the installer and updater, see Wowza Streaming Engine 4.9.0 JAR file changes. We don’t recommend reverting to the old JAR files. However, if your use case demands it, you can search the Maven repository for the old version and test it with your implementation.

Launched Wowza Streaming Engine in the Google Cloud Marketplace

Wowza Streaming Engine is now available as a pre-built solution in the Google Cloud Marketplace. Our pre-configured Wowza Streaming Engine for Linux software image runs on the Google Cloud Platform (GCP) and leverages the core Compute Engine GCP web service. With this GCP offering, the Wowza Streaming Engine license is embedded in the software through the marketplace. Google manages all billing for your running instance time and bandwidth consumption. For more, see Set up Wowza Streaming Engine for Linux on Google Cloud Marketplace.

Potential breaking changes:
Before installing or updating, if you have custom code or Akamai stream targets, please read the potential breaking changes here:
https://www.wowza.com/docs/wowza-streaming-engine-4-9-0-release-notes#breaking-changes-in-wowza-streaming-engine-4-9-05

Akamai stream targets

Akamai stream targets haven’t yet been certified with Wowza Streaming Engine 4.9.0. If you’re using Wowza Streaming Engine to send live streams to the Akamai HD network for distributed delivery, use a previous version of Wowza Streaming Engine.

Java version information

With Wowza Streaming Engine 4.9.0, we continued the transition to Java 21. We’re using a phased-in approach that aims to leverage various Java 21 benefits, to integrate the latest Java Long-Term Support (LTS) versions, and to avoid breaking changes in future updates. The ultimate goal is to recompile Wowza Streaming Engine using Java 21 and to update all relevant third-party dependencies to their latest versions, providing enhanced security, compatibility, and reliability.

Wowza Streaming Engine 4.9.0 is officially certified, thoroughly tested, and optimized to run seamlessly with the Java 21 JRE. You get the following Java features:

  • Installer details – Wowza Streaming Engine 4.9.0 is compiled using Java 17 (OpenJDK Java SE JRE 17.0.12), but new installations include a JRE for Java 21 (OpenJDK Java SE JRE 21.0.3). You can roll back to Java 17 if needed. Older Java versions (16 and below) are no longer supported and cannot be used with Wowza Streaming Engine 4.9.0.
  • Updater details – When using the Wowza Streaming Engine 4.9.0 updater, we verify that the Java 21 Virtual Machine (JVM) is present before completing the upgrade. If Java 21 isn’t detected on the machine, the update is canceled with a message containing recommended steps. If you need a new version of Java, the updater includes JRE 21 with instructions explaining how to copy it from the root of the installer to the Wowza Streaming Engine installation folder. When you’re updating to Wowza Streaming Engine 4.9.0 from a base installation of Wowza Streaming Engine 4.8.28 or earlier, check these considerations.
  • Supported Java versions – If you prefer, you can manually install a different Java version. We support Java versions 17 or 21 with Wowza Streaming Engine 4.9.0.

While we tested Wowza Streaming Engine 4.9.0 to run with the Java 21 Runtime Environment (JRE), we didn’t recompile it using Java Development Kit (JDK) 21. If you build a custom module using Java 21, it may not work with Wowza Streaming Engine if your source code includes Java 21 features.

Note: New installations of Wowza Streaming Engine 4.9.0 deliver generational support for the Z Garbage Collector (ZGC). To use Java 21 with Generational ZGC on Windows, you must be running a 64-bit version of Windows 10 (version 1803 or later) or Windows Server 2019 or later. You also need a 64-bit JVM.

If your Wowza Streaming Engine workflow uses custom modules or plugins, we suggest testing them with Wowza Streaming Engine 4.9.0 in a non-production environment before updating your media server software. The following Java modules are included with the JRE for the Wowza Streaming Engine 4.9.0 installer:

  • java.base
  • java.datatransfer
  • java.desktop
  • java.instrument
  • java.logging
  • java.management
  • java.management.rmi
  • java.naming
  • java.prefs
  • java.rmi
  • java.scripting
  • java.scripting.jgss
  • java.security.sasl
  • java.sql
  • java.transaction.xa
  • java.xml
  • jdk.crypto.cryptoki
  • jdk.crypto.ec
  • jdk.httpserver
  • jdk.management
  • jdk.management.agent
  • jdk.naming.rmi
  • jdk.unsupported
  • jdk.xml.dom
  • jdk.attach (available with Wowza Streaming Engine 4.8.28 and later)
  • jdk.internal.jvmstat (available with Wowza Streaming Engine 4.8.28 and later)
  • jdk.jcmd (available with Wowza Streaming Engine 4.8.28 and later)
  • jdk.jfr (available with Wowza Streaming Engine 4.8.28 and later)
  • java.net.http (available with Wowza Streaming Engine 4.8.28 and later)

If you have other dependencies, you must install a Java 17 JRE or JDK for Wowza Streaming Engine 4.9.0 that includes these dependencies. For more information, see Manually install and troubleshoot Java on Wowza Streaming Engine.

You can also check the Wowza Streaming Engine support for Java page to learn more about the different Java versions we support.

If you are updating vs using the installer:

Updating to Wowza Streaming Engine 4.9.0 from Engine versions that run on Java versions prior to 17 will have an error message that Java 21 is required.

Wowza Streaming Engine 4.9.0 updater zip comes with the needed jre folder to update to Java 21. You can download the updater zip archive, and unzip into the Wowza Streaming Engine install directory /updates.

  • On Linux you can run a command to copy the jre from the updater directory

You must be in the …/updates/WowzaStreamingEngine-Update-4.9.0+2/linux directory to run the following command

sudo cp -r …/jre/linux-x64/* …/…/…/jre

  • On Windows, open the jre folder inside the updater directory, open windows-x64 and copy the contents to the jre folder in the Wowza Streaming Engine install directory

From:
C:\Program Files\Wowza Media Systems\Wowza Streaming Engine 4.8.27+5\updates\WowzaStreamingEngine-Update-4.9.0+2\jre\windows-x64
To:
C:\Program Files\Wowza Media Systems\Wowza Streaming Engine 4.8.27+5\jre

Updated Articles
Now you can spin up GCP image of Wowza Streaming Engine:
https://www.wowza.com/docs/set-up-wowza-streaming-engine-for-linux-on-google-cloud-marketplace

Additional updated articles:
https://www.wowza.com/docs/limitationsof-amd-xilinx-acceleration-with-wowza-streaming-engine-transcoding
https://www.wowza.com/docs/perform-a-silent-installation-of-wowza-streaming-engine
https://www.wowza.com/docs/how-to-troubleshoot-wowza-streaming-engine-installation
https://www.wowza.com/docs/use-aws-sdk-download-content-from-an-amazon-s3-bucket-for-wowza-streaming-engine-media-cache
https://www.wowza.com/docs/how-to-protect-streaming-using-securetoken-in-wowza-streaming-engine
https://www.wowza.com/docs/how-to-use-webrtc-with-wowza-streaming-engine
https://www.wowza.com/docs/how-to-secure-mpeg-dash-streaming-using-common-encryption-cenc
https://www.wowza.com/docs/secure-cmaf-mpeg-dash-streams-using-common-encryption-in-wowza-streaming-engine
https://www.wowza.com/docs/wowza-streaming-engine-support-for-java
https://www.wowza.com/docs/wowza-streaming-engine-technical-specifications
https://www.wowza.com/docs/use-jconsole-with-wowza-streaming-engine
https://www.wowza.com/docs/how-to-update-your-wowza-streaming-engine-installation
https://www.wowza.com/docs/manually-install-and-troubleshoot-java-on-wowza-streaming-engine
https://www.wowza.com/docs/how-to-load-balance-between-servers-using-google-cloud-platform
https://www.wowza.com/docs/about-hosting-wowza-streaming-engine-in-the-cloud

Archived Article
https://www.wowza.com/docs/set-up-wowza-streaming-engine-on-google-cloud-platform

1 Like