Archive for the ‘how-to’ Category

How to receive SAP packets and process them

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 reading

How to publish with WebRTC using H264

How 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 reading

How To – Do Stream Motion Detection

How 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 reading

How to set stream timecodes to absolute time

How 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 reading

How To Get File Information – Codec/Bitrate

How 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 reading

How to create an IClient object

How 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 reading

Use ffmpeg for RTSP output

Use ffmpeg for RTSP output:

A simple example of how to publish RTSP to your wowza server using ffmpeg.

» continue reading

REST API – get historic connection counts

REST API – get historic connection counts:

You can obtain historical connection & bandwidth information via Wowza’s REST API.

» continue reading

How To Add a MediaCache Source Dynamically

How 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 reading

Verify a VOD asset exists via HTTP Provider

Verify 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