Search packages, repositories and app categories

Package detailsv3.1.1

rtmp_broadcaster

An extension of the Flutter camera plugin that enables live video streaming over RTMP on Android and iOS devices.

AndroidiOS
30-day downloads
497
Likes
40
Pub points
140

Install package

flutter pub add rtmp_broadcaster

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The rtmp_broadcaster package extends Flutter's camera plugin to enable real-time video streaming over RTMP on both Android and iOS devices. It allows developers to broadcast live video directly from mobile devices to RTMP servers, making it ideal for live events, video conferencing, or social media streaming. The package integrates seamlessly with existing camera functionality and supports common RTMP configurations. Built with performance and simplicity in mind, it provides a straightforward API for starting and stopping streams.

Use cases

  • Live event broadcasting
  • Social media live streaming
  • Remote video conferencing
  • IoT device video feeds
  • Real-time monitoring

Key features

  • RTMP streaming support
  • Android and iOS compatibility
  • Camera integration
  • Simple start/stop API
  • Low-latency streaming

Suitable for

  • Developers building live video apps
  • Mobile app creators needing RTMP output
  • Real-time communication platforms
  • Content creators using mobile streaming

Considerations

  • Requires RTMP server setup
  • Network stability affects stream quality
  • Limited to Android and iOS
  • May require additional permissions
  • Depends on underlying camera plugin

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutter RTMP broadcaster

codecov Dart CI Publish Stale

[!IMPORTANT] Development of version 3.0 is being restarted. Expect breaking changes to the API and Android/iOS build configuration while this work is in progress.

This plugin extends the Flutter camera plugin with RTMP streaming support for Android and iOS. Web is not supported.

It follows the same API structure as the camera plugin and adds a startStreaming(url) method to initiate real-time streaming to an RTMP endpoint.

Underlying implementation:

Features

  • Live camera preview embedded in a widget
  • Snapshot capture to file
  • Video recording
  • Direct access to image streams from Dart

Usage

The controller extends the camera plugin's API with the following methods:

Function Description
startVideoStreaming(String url, {int bitrate = 1200 * 1024, bool? androidUseOpenGL}) Starts streaming to an RTMP endpoint
startVideoRecordingAndStreaming(String filePath, String url, {int bitrate = 1200 * 1024, bool? androidUseOpenGL}) Starts streaming to an RTMP endpoint while simultaneously recording to a local file
pauseVideoStreaming() Pauses the active stream
resumeVideoStreaming() Resumes a paused stream
stopEverything() Stops any active streaming and recording

Getting started

iOS

Add the following keys to ios/Runner/Info.plist:

<key>NSCameraUsageDescription</key>
<string>App requires access to the camera for live streaming feature.</string>
<key>NSMicrophoneUsageDescription</key>
<string>App requires access to the microphone for live streaming feature.</string>
Android

Set minSdkVersion to 21 or higher in android/app/build.gradle.

Example

The example app demonstrates camera preview, snapshot capture, video recording, and RTMP streaming. Clone the repository and run the app on an Android or iOS device to try it.

A local RTMP test server is available under server/, set up via Docker Compose, for testing without a public endpoint.

Troubleshooting & issues

Report bugs or unexpected behavior via GitHub issues. Availability for support is limited; for prioritized or paid support, contact [info@emiliodallatorre.it](mailto:info@emiliodallatorre.it).

Contributing

  1. Fork the repository and create a branch for your change
  2. Make the change
  3. Ensure the code is formatted and tested
  4. Submit a pull request describing the change

Support development

If this plugin is useful to you, consider supporting its development via Buy Me a Coffee.

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

No data available yet.