How to receive SAP packets and process them:
We were asked to look at SAP (Session Announcement Protocol) and how we could make it work with Wowza Streaming Engine. It turns out it is a relatively simple protocol but there are few gotchas which did trip us up however we have come up with an application module that should meet most needs along […]
» continue readingHow to publish with WebRTC using H264:
This has been asked many times on how to get WebRTC to publish with H264 using the WebRTC publisher provided by Wowza. This code is extremely basic but by default publishes VP8. There are two ways to resolve this problem and we are going to choose one that requires no changes to the Wowza configuration/session […]
» continue readingHow To – Do Stream Motion Detection:
We have been asked to look at several features relating to the transcoder, one being motion detection. We did a little digging and it appears Wowza Streaming Engine provides access to frames after they have been decoded. There are several posts such as Stack OverFlow and a somewhat more complete example Wowza Code Example This […]
» continue readingHow to set stream timecodes to absolute time:
We were recently asked to look at how to provide absolute timecodes in a stream, regardless of if the encoder sent them or not. This can be done and is extremely simple to do. package guru.thewowza.example.absolute; import com.wowza.wms.application.*; import com.wowza.wms.amf.*; import com.wowza.wms.module.*; import com.wowza.wms.stream.*; public class Timecode extends ModuleBase { public void onAppStart(IApplicationInstance appInstance) { […]
» continue readingHow To Get File Information – Codec/Bitrate:
We have been looking at how to do this for a while and finally came up with a reasonable method. This could be used in conjunction with the AMLST API and do note it does trigger some ‘cupertino’ messages although you may not be using cupertino to stream anything. private IMediaReaderCupertino mediaReader = null; private […]
» continue readingHow to create an IClient object:
There are occasions where code within Wowza requires an IClient object, however you find that either there are no connections or none available within the class space you are working within. You can create an IClient object with the following code IClient thisClient = new Client(appInstance.getVHost(),Server.getInstance().getClientIdGenerator().getNextId()); This will then allow you to pass the created […]
» continue readingUse ffmpeg for RTSP output:
A simple example of how to publish RTSP to your wowza server using ffmpeg.
» continue readingREST API – get historic connection counts:
You can obtain historical connection & bandwidth information via Wowza’s REST API.
» continue readingHow To Add a MediaCache Source Dynamically:
One of things we have been asked to do many times is add a media cache source WITHOUT the need to restart Wowza Streaming Engine. If you use the Wowza Streaming Engine Manager then this is not possible as it will prompt for a server restart. It is possible to add a MediaCache source and […]
» continue readingVerify a VOD asset exists via HTTP Provider:
We’ve had recent requests for an http provider that will verify existence of a particular VOD asset.
» continue reading