Flutter · FFmpeg · Media

FFmpeg media conversion
made simple for Flutter.

Convert, inspect, and preview audio and video with a clean Flutter API. Nyx Converter handles FFmpeg execution, validation, progress, and conversion management for you.

nyx_converter: ^1.0.0

Everything you need.

A focused API for building audio and video workflows without manually managing FFmpeg commands.

Media conversion

Convert audio and video files between supported containers and formats.

V

Video codecs

Select the video codec used to encode your output media.

Audio codecs

Choose the audio codec for your converted media.

Video sizes

Select a target video resolution such as 720p, 1080p, or 4K.

A

Audio settings

Configure sample rate, channel layout, and audio bitrate.

Live progress

Track progress, FPS, and FFmpeg processing speed while converting.

×

Cancellation

Stop an active FFmpeg conversion when your application needs to.

Media validation

Validate media information before and during conversion workflows.

Media previews

Retrieve media information and generate video thumbnails.

Start in minutes.

Add the package, configure your conversion, and listen to execution updates.

1

Add Nyx Converter

Add nyx_converter to your Flutter project's dependencies.

2

Configure the output

Choose the container, codecs, resolution, audio settings, and bitrates you need.

3

Monitor conversion

Use the execution callback to receive status, progress, FPS, speed, and errors.

Dart
import 'package:nyx_converter/nyx_converter.dart';

await NyxConverter.convertTo(
  '/storage/input.mp4',
  '/storage/output',
  container: NyxContainer.mp4,
  videoCodec: NyxVideoCodec.h264,
  audioCodec: NyxAudioCodec.aac,
  size: NyxSize.w1920h1080,
  sampleRate: NyxSampleRate.hz48000,
  channelLayout: NyxChannelLayout.stereo,
  videoBitrate: 5,
  audioBitrate: 192,
  fileName: 'converted',
  execution: (
    status, {
    progress,
    fps,
    speed,
    errorMessage,
  }) {
    print(status);
    print(progress);
    print(fps);
    print(speed);
  },
);

A small, focused API.

The core API covers conversion, media inspection, thumbnails, and conversion control.

convertTo()

Convert an input media file using the selected options.

getMediaInfo()

Read media information including video and audio properties.

getThumbnail()

Generate a thumbnail from a video file.

kill()

Cancel the currently running FFmpeg conversion.

execution

Receive conversion status and runtime information.

NyxMediaInfo

Work with structured media, video, and audio information.

Configure what matters.

Use typed enums and simple values to describe the output you want.

Containers AVI, MP4, MKV, MOV, WebM, MPEG, WMV, Ogg, WAV, FLAC, MP3, AAC
Video codecs H.264, H.265, Xvid, VP8, VP9, AV1, MPEG-4, MPEG-2
Audio codecs AAC, MP3, Opus, Vorbis, MP2, WMA, FLAC, ALAC, AC-3
Video sizes 360p, 480p, 720p, 1080p, and 4K
Sample rates 22.05 kHz, 44.1 kHz, and 48 kHz
Channel layouts Mono and stereo

Built for Flutter apps.

Nyx Converter currently supports the following Flutter platforms.

Android Supported
iOS Supported
macOS Supported
Windows Supported

Ready to build with FFmpeg?

Add Nyx Converter to your Flutter project and keep media conversion simple.