Wowza Streaming Engine (WSE) extensions are usually called custom Java modules in Wowza’s documentation. To build one, target the Java runtime supported by your exact Engine release, use Wowza’s documented build workflow, make the resulting extension available to Engine, register its fully qualified class name on the intended application, configure any properties, and test before production deployment or an Engine upgrade.
How WSE custom modules fit together
WSE is a Java-based media server with a Java API for extending its behavior. A module is a Java class, and enabling it is an application-level configuration task: the target application’s module list identifies the class to load. Application settings, including properties used by a module, belong to the relevant application configuration scope. See Wowza’s Engine overview.
“Plugin” is a useful general term, but use “module” when following Wowza’s documentation and examples. Building the class and registering it are separate steps: a module cannot be loaded merely because its source code or JAR exists somewhere on the server.
Before you build: pin down the target Engine and Java versions
Record the exact WSE release, operating system, Java runtime used by that installation, and any third-party Java dependencies. Compatibility varies by Engine release, so do not choose a compiler target just because a newer Java runtime is installed.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →#1 Best Overall
- Compact but Powerful Design: ZowieBox is smaller than a phone, featuring a tally light and LCD screen for streaming status. Capture console gameplay in up to 4K with zero-lag HDMI passthrough, while the built-in video encoder converts video for IP streaming. The IP stream can also be decoded back to a 4K HDMI signal.
- Standalone Game Streaming: Just plug and play—ZowieBox enables PC-free live gaming without affecting gameplay. As an RTMP hardware encoder and HDMI streamer, it delivers stable streaming directly from your source, making it ideal for gaming, live events, and professional broadcasting.
- NDI|HX3 Converter Technology: ZowieBox converts HDMI signals to NDI|HX3/HX2/HX, functioning as an NDI video encoder, or NDI Video Decoder for flexible IP workflows. Certified NDI technology enables low-latency gameplay streaming through OBS/vMix. Note: Encoder and decoder modes cannot run simultaneously; full NDI signals are not supported.
- UVC to HDMI Conversion: Supporting up to 4K@30fps and 1080p@60fps decoding, ZowieBox enables flexible conversion for webcam and video workflows. As a video decoder and HDMI to IP converter, it expands connectivity options for professional video devices. Note: USB capture card functionality is not currently supported.
- All-around Configuration Options: Control ZowieBox through its web UI on a PC, phone, or tablet. Manage connected PTZ cameras, tally light, video/audio, OSD, work mode, streams, network, and system settings. Support for VISCA over IP encoder workflows enables flexible PTZ control, while the dashboard provides video preview and system status.
Wowza’s Java support guidance, dated October 2, 2024, describes a transition beginning with WSE 4.8.28 and gives release-specific Java support rather than one timeless version recommendation. Its 4.9.0 release notice says that Engine was compiled using Java 17, new installations included a Java 21 JRE, and Java 17 or 21 were supported for that release. It also cautions that code using Java 21 language or runtime features may not work simply because Engine can run on a Java 21 JRE: Engine had been tested on that JRE but not recompiled with JDK 21. Check the current guidance for the exact Engine version you will run: Wowza Streaming Engine support for Java and the WSE 4.9.0 release notice.
Choose a development and build route
Gradle and Docker Compose
Wowza’s extension guide describes a Gradle-based build system and Docker Compose setup for running WSE locally. The project is intended to support building, packaging, and deploying custom extensions. Start with the guide and the linked repository, and use the README revision and Engine image/version appropriate to your target release for exact commands, project layout, dependencies, and deployment details:
Wowza IDE
Wowza’s Developer Portal also indexes an IDE route alongside Java modules documentation. The available documentation here does not establish that the IDE is required, preferred, or supported for every current Engine version. Whichever route you choose, verify that it can target your Engine release and makes the output and deployment process clear. A container-based local setup can help reproduce the target Engine environment; an IDE may suit developers who prefer an integrated workflow, but neither route removes the need to validate runtime compatibility.
Rank #2
- 【Hardware H.265/H.264 Encoding at 1080P60】Dedicated hardware encoder delivers broadcast-quality 1080P60 streams with H.265/H.264 compression. Reduces bandwidth usage by up to 50% compared to legacy H.264-only solutions, while maintaining crisp, crystal-clear video output.
- 【Broad Protocol Support for IP Distribution】 Supports SRT, RTMP(S), RTSP, UDP, HTTP, HLS, WebRTC, TRTC, Icecast and SHOUTcast — integrate seamlessly with CDNs, surveillance NVRs, IPTV systems and browser-based monitoring dashboards. One device replaces multiple single-purpose streaming boxes.
- 【Browser-Based Setup in Minutes】 Set up in minutes through any browser — no software, drivers or OS compatibility issues. DHCP is enabled by default to prevent IP address conflicts on your network. Note: basic networking knowledge (IP address, RTSP/RTMP configuration) is recommended for advanced streaming setups.
- 【Compact Design with Flexible Deployment】Palm-sized form factor (approx. 90×54×29mm) fits easily behind monitors, on shelves, or in equipment racks. Low power consumption ensures reliable 24/7 operation for live events, remote monitoring, and digital signage.
- 【Professional Audio & OSD Overlay + 1-Year Warranty】 Supports HDMI embedded audio plus external 3.5mm input. Built-in OSD generator adds scrolling text, logos, or timestamps directly to the video stream — ideal for branding, event info, or security labeling. Backed by a 1-year warranty and 24/7 online technical support.
Implement the Java module without guessing its lifecycle
Use Wowza’s Java API documentation for the exact target release to determine the required superclass or interface, lifecycle callbacks, and method signatures. The official materials linked here establish the Java-module approach but do not provide enough detail to safely prescribe a complete class scaffold or callback implementation. Do not copy a guessed template: confirm the API and lifecycle requirements for the Engine version that will load the module.
Keep the implementation’s configuration expectations explicit. A property entered in Manager, REST, or XML is useful only if the module reads that property through the API and the property is placed in the scope the code expects.
Build, package, and make the extension visible to Engine
- Follow the matching build instructions. Use the official Gradle/Docker guide and the repository README for the supported command sequence, Engine image/version, and project layout.
- Inspect the build output. Confirm the expected extension artifact was produced and determine from the matching guide how it is packaged and made visible to the Engine process.
- Resolve dependency handling from the same version-specific instructions. The high-level guide establishes that the workflow packages and deploys extensions, but does not establish a universal dependency-bundling rule or JAR destination. Do not assume that a historical installation-directory convention is current for every setup.
- Deploy to a non-production environment first. Use the deployment procedure for your chosen workflow and verify the artifact is available to the Engine instance that will load it.
An older community support discussion mentions placing a JAR in the installation’s lib directory, but it is historical support context, not sufficient evidence for a universal current deployment rule: Java API plugin discussion. Follow the current official guide and repository instructions for your release.
Rank #3
- 【Innovative Product with Leading Technology】- Equipped with an advanced H.265 /H.264 dual encoding chip, supports 4K UHD (3840x2160) video input and output, with a maximum frame rate of 30fps at 4K resolution and up to 120fps at 2K and lower resolutions, delivering a smooth and detailed visual experience. It also supports HDCP 1.4 decryption, easily decoding various HDMI ultra HD video sources, delivering a cinematic visual experience for both professional live streaming and 4K ultra HD content transmission.
- 【Multi-protocol and Multi-platform Compatibility】- Fully compatible with streaming protocols such as HTTP, RTSP, RTMP(S), SRT, HLS(M3U8), MP4, Multicast(UDP, RTP, PTL), FLV, WebRTC, TRTC, ICECAST, it can simultaneously output 4 video streams with different protocols and push them to live streaming platforms such as YouTube, Facebook, Twitch, and Vimeo with one click. Simultaneous live streaming across multiple platforms can be achieved without additional equipment.
- 【Highly Customizable Settings to Meet Individual Needs】- It supports adding static text, scrolling captions, brand logos, and timestamps. Users can freely adjust core parameters such as video resolution, frame rate, and bitrate, and also perform personalized editing functions such as video cropping, rotation, flipping, and mirroring. It supports dual input of HDMI embedded audio and line-in audio, with adjustable sound quality, making your live stream content more distinctive and allowing you to create a unique brand live stream style.
- 【Stable and Efficient Transmission, Easy Operation】- Employing HDMI to Ethernet core connection technology, it ensures stable and reliable network transmission with low latency and no lag, adapting to various network environments. Equipped with an intuitive user interface and detailed instruction manual, no professional technical background is required; setup can be completed quickly after connecting the device. It is also compatible with multiple terminals such as computers and mobile phones for management, and the video stream status can be viewed in real time via a URL.
- 【Lifetime Free Warranty and Technical Supports】- All URayCoder video codecs come with a lifetime free warranty and technical supports, supporting secondary development and feature customization to meet enterprise-level personalized needs. Meanwhile, we providing many kinds of customization services such as shell pattern printing, logo addition, hardware and function development, ensuring reliable quality and worry-free after-sales service.
Register the module on the right application
Once deployed, add the module to the intended application’s configuration. Wowza’s REST guide demonstrates updating advanced application configuration with a PUT request to /v2/servers/{serverName}/vhosts/{vhostName}/applications/{appName}/adv. Its example includes a modules array entry containing a fully qualified class name, description, name, and order. The sample class com.my.custom.path.MyCustomModule is illustrative, not a built-in or downloadable module. A successful update saves the application configuration and writes a <Module> entry to Application.xml.
Alternatively, manage the application configuration through WSE Manager or the relevant XML file. Confirm the server, virtual host, and application before changing anything: each virtual host can have its own application folders and configuration. The REST example and application lifecycle operations are documented in Create a live app.
Set module properties in application scope
The REST example also updates advancedSettings, and Wowza’s overview describes adding properties through Manager by specifying path, name, type, and value, or by adding a <Property> under the appropriate XML <Properties> element. The overview lists Boolean, Integer, and String among property types. Match the configuration path and scope to what the module reads; a property name is not automatically interpreted by custom code.
Rank #4
- ⭐【Innovative Product with Leading Technology】- Equipped with an advanced H.265/H.264 dual encoding chip, supports 1920x1080 resolution input and output, achieving 60fps high-definition presentation with realistic and delicate color reproduction and lossless detail. It also supports HDCP 1.4 decryption, easily decoding various HDMI high-definition video sources, delivering a cinematic visual experience for both professional live streaming and high-definition content transmission.
- ⭐【Multi-protocol and Multi-platform Compatibility】- Fully compatible with streaming protocols such as HTTP, RTSP, RTMP(S), SRT, HLS(M3U8), MP4, Multicast(UDP, RTP, PTL), ONVIF, FLV, it can simultaneously output 4 video streams with different protocols and push them to live streaming platforms such as YouTube, Facebook, Twitch, and Vimeo with one click. Simultaneous live streaming across multiple platforms can be achieved without additional equipment.
- ⭐【Highly Customizable Settings to Meet Individual Needs】- It supports adding static text, scrolling captions, brand logos, and timestamps. Users can freely adjust core parameters such as video resolution, frame rate, and bitrate, and also perform personalized editing functions such as video cropping, rotation, flipping, and mirroring. It supports dual input of HDMI embedded audio and line-in audio, with adjustable sound quality, making your live stream content more distinctive and allowing you to create a unique brand live stream style.
- ⭐【Stable and Efficient Transmission, Easy Operation】- Employing HDMI to Ethernet core connection technology, it ensures stable and reliable network transmission with low latency and no lag, adapting to various network environments. Equipped with an intuitive user interface and detailed instruction manual, no professional technical background is required; setup can be completed quickly after connecting the device. It is also compatible with multiple terminals such as computers and mobile phones for management, and the video stream status can be viewed in real time via a URL.
- ⭐【Lifetime Free Warranty and Technical Supports】- All URayCoder video codecs come with a lifetime free warranty and technical supports, supporting secondary development and feature customization to meet enterprise-level personalized needs. Meanwhile, we providing many kinds of customization services such as shell pattern printing, logo addition, hardware and function development, ensuring reliable quality and worry-free after-sales service.
Load and test the change
After deployment and registration, perform the application reload or restart step required by the chosen workflow and the nature of the change. Wowza’s REST guide documents restarting an application, but that does not establish that every module change requires a full server restart. Check the relevant deployment instructions rather than applying a blanket restart rule.
- Verify the module class is visible to the Engine process and the application configuration contains the intended module entry.
- Review Engine logs for class-loading, dependency, or configuration errors.
- Exercise the feature or callback in the streaming workflow it is meant to affect.
- Repeat the checks in a non-production environment against the target Engine and Java versions before deploying or upgrading production. Wowza specifically advises testing custom modules outside production before an Engine upgrade.
Common failure points and how to respond
The application does not load the module
Check that the module is registered on the correct server, virtual host, and application; that the class name is fully qualified and spelled correctly; and that the deployed artifact is visible to the Engine process. Use the Engine logs to distinguish a configuration issue from a class-loading or dependency problem.
The class loads but a feature or setting has no effect
Confirm the module’s implementation reads the property you configured, and that the property path and application scope match the code’s expectations. Verify the relevant code path is exercised by the test stream.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
- 【Local Recording & Video Cropping – EH1211 Exclusive Features】 This mini HDMI video encoder supports local recording to USB drive or TF card – it can record both RTSP streaming video and direct HDMI input to external storage. The built-in video cropping function lets you customize the encoding region, making it easy to adapt input to needed displays or focus on specific areas. With its space-saving design, EH1211 is ideal for classrooms, conference rooms, and digital signage installations.
- 【ORIVISION Advantage& Ultra Mini Model】- This ORIVISION ultra mini video encoder has high integration with low cost. Ultra mini size(125x72x25mm) and light weight (200g) of H.265 encoder is perfect for live broadcasting applications with frequent move or tiny device installation space. IP encoder has 1 X HDMI Input and loop-out, 1 X 3.5mm audio input,1 X 3.5mm audio output(new), 1X USB2.0 port(new), 1X TF card port(new). IPTV encoder support audio encoding without video input.
- 【1080P@30HZ Input/Output Resolution & 2 Channel Output】- HDMI encoder supports max 1080P@30 resolution HD input and output. The video encoder for live broadcasting can output 2 channels feeds at the same time. While only 1 channel can reach 1080p output. The H.265/ H.264 encoder supports multiple different protocol feeds output at the same time, but does not support simultaneous output 1080P30.
- 【Multi-Protocols & Software & Platform & Flip Supporting】- Hardware encoder supports protocols including HTTP/HTTPS/RTSP/RTMP/RTMPS/SRT/UDP/RTP/FLS/FLV,is compatible with Onvif protocol. Multicast UDP/RTP. HDMI video encoder supports software like Flashplayer, OBS, VLC player, Vmix..etc. Fit for Youtube, Facebook, Ustream, Livestream, Twitch, Vimeo, Streamspot, Dacast, Tikilive, Netrmedi, etc. This video encoder also supports new function of image rotation and mirror flip. More convenient for live broadcasting.
- 【Powerful OSD Setting】- OSD setting function of the live broadcasting encoder makes it easy for you to add any self-defined text, time and image overlay on your video when output displayed. You may add any text/logo at any position to announce your copyrights with this hevc video encoder.
The module fails after an Engine or Java upgrade
Recheck the release-specific Java support guidance and rebuild or adjust the module only after confirming the supported target. Test the exact Engine/Java combination outside production; do not infer compatibility from the installed JRE alone.
Or let it run in the cloud
Building a WSE module is for extending a media server; it is not a way to keep a YouTube channel live from uploaded videos. If your separate goal is a 24/7 pre-recorded YouTube stream, StreamNeo uploads and loops videos from the cloud: upload a recording or build a playlist, add your YouTube stream key, and go live. Nothing has to stay on at home; it streams the uploaded quality up to 4K 60fps at one price per slot, with automatic recovery if YouTube drops the stream. The first day is free with no card. Monthly: $9.99 per month. Start the free day with StreamNeo.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




