flutter_story_encoder 1.1.6 copy "flutter_story_encoder: ^1.1.6" to clipboard
flutter_story_encoder: ^1.1.6 copied to clipboard

A high-performance, hardware-accelerated video encoding engine for Flutter stories. Supporting 4K and thermal stability.

example/lib/main.dart

import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter_story_encoder/flutter_story_encoder.dart';
import 'package:path_provider/path_provider.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: EncoderExample());
  }
}

class EncoderExample extends StatefulWidget {
  const EncoderExample({super.key});

  @override
  State<EncoderExample> createState() => _EncoderExampleState();
}

class _EncoderExampleState extends State<EncoderExample> {
  String _status = 'Idle';
  double _progress = 0.0;

  Future<void> _startEncoding() async {
    final directory = await getTemporaryDirectory();
    final outputPath = '${directory.path}/example_story.mp4';

    final success = await FlutterStoryEncoder.start(
      config: EncoderConfig(
        width: 1080,
        height: 1920,
        fps: 30,
        bitrate: 5000000,
        outputPath: outputPath,
        addSilentAudio: true,
      ),
      onProgress: (stats) {
        setState(() {
          _progress = stats.progress;
          _status = 'Encoding... ${(stats.progress * 100).toStringAsFixed(1)}%';
        });
      },
      onError: (msg, code) {
        setState(() => _status = 'Error: $msg');
      },
    );

    if (success) {
      // Simulate frame production
      for (int i = 0; i < 60; i++) {
        final frame = Uint8List(1080 * 1920 * 4); // Dummy RGBA data
        await FlutterStoryEncoder.appendFrame(frame);
      }

      final path = await FlutterStoryEncoder.finish();
      setState(() => _status = 'Finished: $path');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Story Encoder Example')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(_status),
            const SizedBox(height: 20),
            LinearProgressIndicator(value: _progress),
            const SizedBox(height: 20),
            ElevatedButton(
              onPressed: _startEncoding,
              child: const Text('Start Dummy Encode'),
            ),
          ],
        ),
      ),
    );
  }
}
1
likes
0
points
614
downloads

Publisher

verified publisherlucasveneno.com

Weekly Downloads

A high-performance, hardware-accelerated video encoding engine for Flutter stories. Supporting 4K and thermal stability.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on flutter_story_encoder

Packages that implement flutter_story_encoder