Skip to content

Wowza Streaming Engine™ module that uses the AWS Java SDK to automatically upload recorded media files to an S3 compatible object store.

License

Notifications You must be signed in to change notification settings

TeHikuMedia/wse-plugin-s3compatibleupload

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

S3 Compatible Upload

We extend the ModuleS3Upload module for Wowza Streaming Engine™ media server software by providing an extra property endpoint-url which allows you to use s3 compabitle object storage from other providers such as OpenStack.

The ModuleS3Upload module for Wowza Streaming Engine™ media server software automatically uploads finished recordings to an S3-compatible object storage. It uses the Amazon Web Services (AWS) SDK for Java to upload the recorded files.

This repo includes a compiled version.

Prerequisites

Wowza Streaming Engine 4.7.2.02 or later is recommended. For earlier versions see note below regarding AWS SDK version.

AWS SDK for Java

Note: For earlier versions of Wowza Streaming Engine™, AWS SDK version 1.10.77 or earlier is required. As a minimum, the following packages are required.

-AWS Java SDK For Amazon S3

-AWS SDK For Java Core

-AWS Java SDK For AWS KMS (it's not clear if this package is actually required. It's only referenced from AmazonS3EncryptionClient which isn't used in the S3 uploader)

The version of Apache httpclient that ships with Wowza Streaming Engine prior to 4.7.2.02 isn't compatible with the later versions of the AWS SDK

Usage

When a recording is finished, a temporary file named [recording-name].upload is created to track the recording and sort any data that may be needed to resume the file upload later if it's interrupted. AWS TransferManager uploads the recorded file, splitting it into a multipart upload if required. After the recorded file is uploaded, the temporary [recording-name].upload file is deleted.

When the Wowza Streaming Engine application starts or restarts, the module checks to see if any interrupted uploads must be completed. Interrupted single part uploads are restarted from the beginning while interrupted multipart uploads are resumed from the last complete part. If the module is set to not resume uploads after interruptions (s3UploadResumeUploads = false), incomplete multipart uploads are deleted from the S3 bucket.

More resources

To use the compiled version of this module, see How to upload recorded media to an Amazon S3 bucket (S3Upload).

Wowza Streaming Engine Server-Side API Reference

How to extend Wowza Streaming Engine using the Wowza IDE

Wowza Media Systems™ provides developers with a platform to create streaming applications and solutions. See Wowza Developer Tools to learn more about our APIs and SDK.

Contact

Wowza Media Systems, LLC

License

This code is distributed under the Wowza Public License.

About

Wowza Streaming Engine™ module that uses the AWS Java SDK to automatically upload recorded media files to an S3 compatible object store.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%