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
[!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.
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
Fork the repository and create a branch for your change
Make the change
Ensure the code is formatted and tested
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.