flutter_wowza 0.1.11

Flutter Android iOS

Flutter WOWZA plugin for iOS/Android. The project is based on Wowza GoCoder SDK

The project is redeveloping so that it doesn't depend on Wowza gocoder SDK #

Wowza Player, Wowza GoCoder SDK, & the technology powering the Ultra Low Latency service in Wowza Streaming Cloud will no longer be available January 5, 2021. Learn more .

flutter_wowza #

The project is based on Wowza GoCoder SDK

Learn more about using GoCoder here Android | IOS

Get the Free License Free License

Connect the Wowza GoCoder encoding app to Wowza Streaming Engine Docs | Youtube

Usage #

Add flutter-wowza as a dependency in your pubspec.yaml file.

iOS #

Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist:

<key>NSCameraUsageDescription</key>
<string>The camera will be used to capture video for live streaming</string>
<key>NSMicrophoneUsageDescription</key>
<string>The microphone will be used to capture live audio for streaming</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
   <string>armv7</string>
</array>
<key>io.flutter.embedded_views_preview</key>
<true/>

Android #

Ensure the following permission is present in your Android Manifest file, located in <project root>/android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera.any" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />

Example #

WOWZCameraView(
    androidLicenseKey: "GOSK-9C47-010C-2895-D225-9FEF",
    iosLicenseKey: "GOSK-9C47-010C-A9B9-EB78-3FBD",
    controller: controller,
    statusCallback: (status) {
        print("status: ${status.mState} | ${status.isStarting()} | ${status.isReady()}");
    },
    broadcastStatusCallback: (broadcastStatus) {
        print("status: ${broadcastStatus.state.toString()} | ${broadcastStatus.message}");
    },
)

Control live streams

WOWZCameraController controller = WOWZCameraController();

configuration wowza

controller.setWOWZConfig(
              hostAddress: "xxx.xxx.xxx.xxx",
              portNumber: 1935,
              applicationName: "xxxxxx",
              streamName: "xxxxx",
              username: "xxxx",
              password: "xxxx",
              scaleMode: ScaleMode.FILL_VIEW
          );

Functionality supported #

WOWZMediaConfig

FeatureAndroidiOS
WOWZMediaConfig.FRAME_SIZE_176x144✔️
WOWZMediaConfig.FRAME_SIZE_320x240✔️
WOWZMediaConfig.FRAME_SIZE_352x288✔️✔️
WOWZMediaConfig.FRAME_SIZE_640x480✔️✔️
WOWZMediaConfig.FRAME_SIZE_960x540✔️
WOWZMediaConfig.FRAME_SIZE_1280x720✔️✔️
WOWZMediaConfig.FRAME_SIZE_1440x1080✔️
WOWZMediaConfig.FRAME_SIZE_1920x1080✔️✔️
WOWZMediaConfig.FRAME_SIZE_3840x2160✔️✔️

scaleMode

FeatureAndroidiOS
ScaleMode.FILL_VIEW✔️✔️
ScaleMode.RESIZE_TO_ASPECT✔️✔️
IOSAndroidFlutter
hostAddresshostAddresshostAddress
portNumberportNumberportNumber
applicationNameapplicationNameapplicationName
streamNamestreamNamestreamName
usernameusernameusername
passwordpasswordpassword
videoFrameRatevideoFrameRatefps
videoBitratevideoBitratebps
audioSampleRateaudioSampleRatekhz
cameraView.start()WOWZCameraView.startPreview()startPreview
cameraView.stop()WOWZCameraView.stopPreview()stopPreview
cameraView.start()WOWZCameraView.continuePreview()continuePreview
cameraView.stop()WOWZCameraView.pausePreview()pausePreview
cameraView.switchCamera()WOWZCameraView.switchCamera()switchCamera
cameraView.camera.isTorchOnWOWZCameraView.camera.isTorchOnflashLight
GoCoder.isAudioMutedWOWZAudioDevice.isMutedmuted
cameraView.isSwitchCameraAvailableWOWZCameraView.isSwitchCameraAvailableisSwitchCameraAvailable
GoCoder.isStreamingWowzaGoCoder.isInitializedisInitialized
GoCoder.startStreamingWOWZBroadcast.startBroadcaststartBroadcast
GoCoder.endStreamingWOWZBroadcast.endBroadcastendBroadcast

Project that is still being developed #

11
likes
80
pub points
45%
popularity

Publisher

finishcoding.com

Flutter WOWZA plugin for iOS/Android. The project is based on Wowza GoCoder SDK

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD (LICENSE)

Dependencies

flutter

More

Packages that depend on flutter_wowza