FAQ

SDK Capabilities

Can you grab individual frames or snapshots with SDK?
Yes, using WZVideoSink protocol in the iOS SDK and the WZRenderAPI.VideoFrameListener interface in the Android SDK.
Can you 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 you record video to my local device and then stream this video to Wowza Streaming Server?
Yes, the GoCoder SDK allows your custom app to record video onto your local device and then allow you to stream this recorded file to the Wowza Streaming Server.
Does the SDK support switching between portrait / landscape orientation while streaming?
The frame size of the video stream always remains constant while streaming. In other words, 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 two different modes that effect the appearance of the video stream when the orientation of the device changes while streaming.
  1. By default, the orientation of the video stream maintains the orientation of the device and fills the full frame. Which means that if you turn the device upside down while streaming, the video stream mirrors the device and appears upside down.

  2. In the other mode, the video stream maintains the orientation of the device when streaming was initiated. Which means that if you start streaming in landscape and rotate the device to portrait while streaming, the video stream will rotate back to the original orientation appear upright. In the example given, the video stream will be cropped, or “letterboxed”, to fill as much of the frame as possible, while the device remains in a portrait orientation.

Can you mute during streaming?
Yes.
What is the maximum resolution supported by GoCoder SDK?
GoCoder SDK supports a maximum resolution up to 4K.

Protocol and Latency

What protocol does the GoCoder SDK use to stream to Wowza Server? Is this a low-latency protocol?
GoCoder SDK uses the proprietary WOWZ™ a TCP-based low-latency streaming protocol similar to RTMP.
How do you configure Wowza Streaming Engine and Wowza Cloud for low latency ?
Please find the articles below on low-latency configuration:
  1. Wowza Streaming Cloud
  2. How to reduce latency by using a stream source
  3. How to reduce latency for HLS push stream targets

  4. Wowza Streaming Engine

  5. How to achieve the lowest latency from capture to playback
Is the GoCoder SDK ipv6 compatible?
Yes, the GoCoder SDK is ipv6 compatible.

Wowza Cloud

How do I find the connection information for a stream in my Wowza Cloud account to use in the configuration property of the GoCoder SDK's WZBroadcast class?
Refer to the screen below of the Wowza Cloud administrative dashboard to find the connection information...

Wowza Cloud connection properties


Platform Specific

What are the minimum system requirements for the GoCoder SDK.
Please refer to this page for the latest system requirements.

iOS Questions

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 within both Objective-C and Swift based apps.
Does the SDK work with titanium or cordova or other frameworks?
Yes. Titanium SDK or other mobile frameworks can be used in collaboration with GoCoder SDK to develop your live streaming app As of Today, we do not offer ready made plugins for these frameworks or platforms. Developers are encouraged to create own plugins for their needs.

Android Questions

Can we use Camera2 API in Android, instead of the APIs provided with your Android GoCoder SDK?
The WZGLBroadcaster class in the Android SDK 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 does not validate is that the app bundle id (iOS) or application id (Android) does not match the id that was supplied to Wowza when the key was generated.

Checking the app bundle id on iOS

On iOS, the bundle identifier is set in the General section of Xcode's target settings view. Be sure that the value in the Bundle Identifier field matches the id supplied to Wowza when the license key was generated.

XCode Target Settings

Checking the application id on Android

On Android, the application id is typically set in the app/build.gradle file under the defaultConfig section like so:

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