Wowza GoCoder SDK FAQ

This article answers frequently asked questions about Wowza GoCoder™ SDK.

Contents


SDK capabilities
Protocol and latency
Wowza Streaming Cloud
Platform-specific
SDK licensing
Support for the SDK

SDK capabilities


Can I grab individual frames or snapshots with the GoCoder SDK?

Yes. Use the WZVideoSink protocol in the iOS SDK or the WZRenderAPI.VideoFrameListener interface in the Android SDK.

Can I develop an app using GoCoder SDK that runs in the background and streams from camera and microphone?

The iOS SDK can continue streaming audio once the app is placed in the background but not video due to camera access restrictions for background apps enforced by iOS. The capability to stream both video and audio in the background is planned for a future release of the Android SDK.

Can I record video to a local device and then stream it to Wowza Streaming Engine™?

Yes, the GoCoder SDK allows your custom app to record video onto your local device and then stream this recorded file to Wowza Streaming Engine.

Does the SDK support switching between portrait and landscape orientation while streaming?

The frame size of the video stream always remains constant while streaming. This means that a 1280x720 stream doesn't become 720x1280 if you rotate the device while streaming. However, the SDK supports a configuration option that can be set to one of three different modes (same as the device (default), always landscape, or always portrait) that affect the appearance of the video stream when the orientation of the device changes while streaming.

By default, the stream maintains the orientation of the device and fills the full frame. In this mode, if you turn the device upside down while streaming, the video stream appears upside down, too.

In the other modes, the stream maintains the orientation of the device when streaming was initiated. In this mode, if you start streaming in one orientation (say, landscape) and then rotate the device 90 degrees (say, to portrait), the stream will rotate back to the original orientation so that it remains upright. In the example of the device turning from landscape to portrait, the frame size of the video will shrink so that it becomes letter-boxed, displaying the full frame but with black bars across the top and bottom while the device is in portrait orientation.

Can I mute during streaming?

Yes.

What is the maximum resolution supported by GoCoder SDK?

The maximum resolution is 4K.

Protocol and latency


What protocol does the GoCoder SDK use to stream to Wowza Streaming Engine?

GoCoder SDK uses the proprietary WOWZ™ protocol, a TCP-based low-latency streaming protocol similar to RTMP.

How do you configure Wowza Streaming Engine and Wowza Streaming Cloud™ for low latency?

For Wowza Streaming Cloud, see How to reduce network congestion by using a stream source and How to deliver a low-latency HLS stream.

For Wowza Streaming Engine, see How to set up low-latency applications in Wowza Streaming Engine for RTMP streaming.

Is the GoCoder SDK IPv6 compatible?

Yes, the GoCoder SDK is IPv6 compatible.

Wowza Streaming Cloud


Where is the connection code for my Wowza Streaming Cloud live stream that I need to use for the GoCoder SDK WZBroadcast class?

The Connection Code and additional connection information is on the Overview tab of the live stream detail page in Wowza Streaming Cloud.

Platform-specific


What are the minimum system requirements for the GoCoder SDK?

See How to install GoCoder SDK for iOS and How to install GoCoder SDK for Android for system requirements.

iOS

Can the SDK be used to develop both Objective-C and Swift-based apps?

Yes. The SDK is delivered as an iOS framework that can be used with both Objective-C and Swift apps.

Does the SDK work with Titanium, Cordova, or other frameworks?

Yes. Titanium SDK and other mobile frameworks can be used with GoCoder SDK to develop your live streaming app. Currently, Wowza doesn't offer plug-ins for these frameworks or platforms but we encourage developers to create plug-ins for their needs.

Why do I get a "Permission denied" when building an XCode project that includes the GoCoder SDK framework?

If you experience this, do the following:

  1. n the error messages displayed in the XCode build log, locate the full path to the file named strip-frameworks.sh.
  2. Open a Terminal window, and enter the command:
  3. chmod 777 <filepath

Android

Can I use Camera2 API in Android, instead of the APIs provided with your Android GoCoder SDK?

The WZGLBroadcaster class in the GoCoder SDK for Android can be used to capture and stream video content from practically any source, including the Camera2 API.

SDK licensing


Why am I getting an error that my license key is invalid?

The most common reason the license key doesn't validate is that the app bundle ID (iOS) or application ID (Android) doesn't match the ID that was supplied to Wowza when the key was generated.

How do I check the app ID?

On iOS, the bundle identifier is set in the General section of Xcode's target settings view. Make sure that the value in the Bundle Identifier field matches the ID you supplied to Wowza to generate the license key.

On Android, the application ID is typically set in the defaultConfig section of the /app/build.gradle file as follows:

android {
    ...
    defaultConfig {
        applicationId 'com.mycompany.myapp'
        ...

Support for the SDK

The following video tutorial explains how to access information about the device and the version of the SDK that you're running. Include all of this information when contacting support.


If you're having problems or want to discuss this article, post in our forum.