Archive for the ‘General Articles’ 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

Dynamically created SMIL for VOD and Live Streams

Dynamically created SMIL for VOD and Live Streams:

We recently published an article outlining how to get some meta data from VOD files for use with the AMLST extension and although reasonably useful we have recently been furnished with a significantly better approach and decided to build a full solution to share. When using adaptive bitrate streams , so multiple files or live […]

» continue reading

How to only allow known IP addresses to connect to your HTTP Origin server

How to only allow known IP addresses to connect to your HTTP Origin server:

To protect your Wowza Streaming Engine server from invalid IP addresses when in HTTP Origin mode we have come up with a simple HTTP validator. Although relative simple to implement not quite as obvious as you might think and uses a little trick into fooling Wowza Streaming Engine. In order to implement this we have […]

» continue reading

Record Stream on-demand

Record Stream on-demand:

The following code snippet allows you to record streams on demand.

» continue reading

Nvidia commands to monitor gpu usage

Nvidia commands to monitor gpu usage:

When using NVENC as the implementation for the transcoder, there are a few built-in nvidia commands that you can use to monitor GPU usage plus some.

» continue reading

REST API – PTZ camera functionality

REST API – PTZ camera functionality:

Wowza’s Rest API has functionality for IP cameras that contain PTZ camera functionality.

» continue reading

HTTP Provider to serve up VOD assets

HTTP Provider to serve up VOD assets:

This module allows you to pass in a path to a file name and it’ll serve it up for download. You essentially define a default content path/directory or the content/ folder is the default. Then any file that exists within it, is game for download. 1. Place the following provider under you 8086 HostPort within […]

» continue reading