flutter_wowza 0.1.11 copy "flutter_wowza: ^0.1.11" to clipboard
flutter_wowza: ^0.1.11 copied to clipboard

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

Feature Android iOS
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

Feature Android iOS
ScaleMode.FILL_VIEW ✔️ ✔️
ScaleMode.RESIZE_TO_ASPECT ✔️ ✔️
IOS Android Flutter
hostAddress hostAddress hostAddress
portNumber portNumber portNumber
applicationName applicationName applicationName
streamName streamName streamName
username username username
password password password
videoFrameRate videoFrameRate fps
videoBitrate videoBitrate bps
audioSampleRate audioSampleRate khz
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.isTorchOn WOWZCameraView.camera.isTorchOn flashLight
GoCoder.isAudioMuted WOWZAudioDevice.isMuted muted
cameraView.isSwitchCameraAvailable WOWZCameraView.isSwitchCameraAvailable isSwitchCameraAvailable
GoCoder.isStreaming WowzaGoCoder.isInitialized isInitialized
GoCoder.startStreaming WOWZBroadcast.startBroadcast startBroadcast
GoCoder.endStreaming WOWZBroadcast.endBroadcast endBroadcast

Project that is still being developed #

18
likes
40
pub points
29%
popularity

Publisher

verified publishersmew.tech

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

Repository (GitHub)
View/report issues
Contributing

License

BSD-2-Clause (LICENSE)

Dependencies

flutter

More

Packages that depend on flutter_wowza