azkadev / record_widget

Record Widget Flutter realtime fast and efficient and can make automation To Video

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Record Widget

Record widget sebuah library untuk merekam widget rendering / apapun yang ada perubahan secara realtime dengan menyimpan ke gambar (png) dahulu karena jika langsung ke video saat ini belum bisa, dan untuk melakukan convert ke video kamu perlu menginstall FFMPEG untuk menconvert banyak gambar ke video

Demo

demo.mp4

Quickstart

Install library

flutter pub add record_widget

Import Library

import 'package:record_widget/record_widget.dart';

Example Code

class _MyHomePageState extends State<MyHomePage> {
  /// any code
  RecordWidgetController controller = RecordWidgetController(
    pixelRatio: 1.0,
    directory_folder_render: Directory(path.join(Directory.current.path, "result")),
  );
 
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) async {
      // auto start record on first display widget
      controller.start();
    });
  }
  
  @override
  Widget build(BuildContext context) {
    return RecordWidget(
      controller: controller,
      child: Scaffold( 
        body: // code any widget,
        floatingActionButton: FloatingActionButton(
          onPressed: () async {
            // stop and render to file ./output.mp4
            controller.stop();
            Future(() async {
              bool is_save = await controller.renderToVideoMp4(outputFile: File("./output.mp4"));
              print(is_save ? "Succes" : "Gagal");
            });
          },
          tooltip: 'Stop',
          child: const Icon(Icons.stop),
        ),
      ),
    );
  }
  /// any code
}

Render

ffmpeg -f image2 -i %01d.png output.mp4

About

Record Widget Flutter realtime fast and efficient and can make automation To Video

License:Other


Languages

Language:C++ 38.0%Language:CMake 32.0%Language:Dart 21.5%Language:HTML 3.0%Language:Swift 2.8%Language:C 2.3%Language:Kotlin 0.2%Language:Objective-C 0.1%