All Projects → pinkfish → flutter_rtmppublisher

pinkfish / flutter_rtmppublisher

Licence: BSD-3-Clause license
Publisher to rtmp using the camera plugin as a basis to do all the basic camera/record management.

Programming Languages

kotlin
9241 projects
dart
5743 projects
objective c
16641 projects - #2 most used programming language
swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to flutter rtmppublisher

flutter statusbar manager
Flutter StatusBar Manager for iOS & Android
Stars: ✭ 189 (+119.77%)
Mutual labels:  flutter-plugin
flutter-google-api-availability
Check the availability of Google Play services on the current device
Stars: ✭ 26 (-69.77%)
Mutual labels:  flutter-plugin
flutter-geocoding
A Geocoding plugin for Flutter
Stars: ✭ 88 (+2.33%)
Mutual labels:  flutter-plugin
flutter custom tabs
A Flutter plugin to use Chrome Custom Tabs.
Stars: ✭ 117 (+36.05%)
Mutual labels:  flutter-plugin
liquid button
Liquify your buttons, web demo at website
Stars: ✭ 18 (-79.07%)
Mutual labels:  flutter-plugin
davinci
A flutter package to convert any widget to an Image.
Stars: ✭ 33 (-61.63%)
Mutual labels:  flutter-plugin
flutter gesture password
flutter_gesture_password
Stars: ✭ 77 (-10.47%)
Mutual labels:  flutter-plugin
flutter beacon
An hybrid iBeacon scanner and transmitter SDK for Flutter Android and iOS.
Stars: ✭ 92 (+6.98%)
Mutual labels:  flutter-plugin
FlutterLoadingGIFs
Loading indicator GIFs. Material and Cupertino (Android and iOS) loading indicators in assorted sizes. Use as placeholders for loading remote image assets. Demo: https://gallery.codelessly.com/flutterwebsites/loadinggifs/
Stars: ✭ 28 (-67.44%)
Mutual labels:  flutter-plugin
navigate
A flutter plugin for byutifull navigation with advanced routing
Stars: ✭ 40 (-53.49%)
Mutual labels:  flutter-plugin
plugins
Flutter plugins for Tizen
Stars: ✭ 40 (-53.49%)
Mutual labels:  flutter-plugin
E-commerce
A Flutter E-commerce by implementing the Carousel and other flutter components
Stars: ✭ 36 (-58.14%)
Mutual labels:  flutter-plugin
flutter wasm
WebAssembly interpreter for Flutter apps.
Stars: ✭ 22 (-74.42%)
Mutual labels:  flutter-plugin
aestheticDialogs
📱 Flutter Plugin for 💫fluid, 😍beautiful, 🎨custom Dialogs
Stars: ✭ 19 (-77.91%)
Mutual labels:  flutter-plugin
flutter scan
scanner qrcode in widget tree & decoder qrcode from image
Stars: ✭ 63 (-26.74%)
Mutual labels:  flutter-plugin
Motion-Tab-Bar
A beautiful animated flutter widget package library. The tab bar will attempt to use your current theme out of the box, however you may want to theme it.
Stars: ✭ 237 (+175.58%)
Mutual labels:  flutter-plugin
flutter chameleon
[UNMAINTAINED] Flutter package to show platform **dependent** widgets.
Stars: ✭ 30 (-65.12%)
Mutual labels:  flutter-plugin
amap all fluttify
高德地图 Flutter插件
Stars: ✭ 39 (-54.65%)
Mutual labels:  flutter-plugin
gen lang
gen_lang is a dart library for internationalization. Extracts messages to generate dart files required by Intl, inspired by Intl_translation and Flutter i18n
Stars: ✭ 94 (+9.3%)
Mutual labels:  flutter-plugin
flutter isolate
Launch an isolate that can use flutter plugins.
Stars: ✭ 157 (+82.56%)
Mutual labels:  flutter-plugin

rtmppublisher

RTMP streaming and camera plugin.

Getting Started

This plugin is an extension of the flutter camera plugin to add in rtmp streaming as part of the system. It works on android and iOS (but not web).

This means the API Is exactly the same as the camera and installation requirements are the same. The difference exists in an extra API that is startStreaming(URL), it takes an RTMP URL and starts streaming to that specific URL.

For android I use rtmp-rtsp-stream-client-java and for iOS I use HaishinKit.swift

Features:

  • Display live camera preview in a widget.
  • Snapshots can be captured and saved to a file.
  • Record video.
  • Add access to the image stream from Dart.

Installation

First, add camera as a dependency in your pubspec.yaml file.

iOS

Add two rows to the ios/Runner/Info.plist:

  • one with the key Privacy - Camera Usage Description and a usage description.
  • and one with the key Privacy - Microphone Usage Description and a usage description.

Or in text format add the key:

<key>NSCameraUsageDescription</key>
<string>Can I use the camera please?</string>
<key>NSMicrophoneUsageDescription</key>
<string>Can I use the mic please?</string>

Android

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

Need to add in a section to the packaging options to exclude a file, or gradle will error on building.

packagingOptions {
   exclude 'project.clj'
}

Example

Here is a small example flutter app displaying a full screen camera preview.

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';

List<CameraDescription> cameras;

Future<void> main() async {
  cameras = await availableCameras();
  runApp(CameraApp());
}

class CameraApp extends StatefulWidget {
  @override
  _CameraAppState createState() => _CameraAppState();
}

class _CameraAppState extends State<CameraApp> {
  CameraController controller;

  @override
  void initState() {
    super.initState();
    controller = CameraController(cameras[0], ResolutionPreset.medium);
    controller.initialize().then((_) {
      if (!mounted) {
        return;
      }
      setState(() {});
    });
  }

  @override
  void dispose() {
    controller?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    if (!controller.value.isInitialized) {
      return Container();
    }
    return AspectRatio(
        aspectRatio:
        controller.value.aspectRatio,
        child: CameraPreview(controller));
  }
}

A more complete example of doing rtmp streaming is in the example code

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].