nyx_converter 0.1.0 copy "nyx_converter: ^0.1.0" to clipboard
nyx_converter: ^0.1.0 copied to clipboard

A Flutter widget that makes it easier to convert formats, codecs, etc. of media files.

Nyx Converter Github release pub package License Github Stars Issues #

nyx_converter logo

The nyx_converter package in Flutter empowers you to seamlessly convert media files between various formats, codecs, resolutions, bitrates, and audio properties. It utilizes the robust ffmpeg library under the hood, providing a convenient and efficient solution for your media processing needs within your Flutter applications.

Key Features #

  • Extensive Container Support: Convert a wide range of video and audio file containers.
  • Flexible Codec Control: Specify desired video codecs (e.g., H.264, VP8) and audio codecs (e.g., AAC, MP3) to tailor the output file's characteristics.
  • Granular Resolution Management: Define the exact width and height in pixels for the converted video, granting precise control over the output dimensions.
  • Bitrate Optimization: Set the bitrate (in kbps) to strike a balance between quality and file size, catering to different bandwidth requirements or storage constraints.
  • Audio Fine-Tuning: Specify the sampling frequency (in Hz) and number of channels (mono or stereo) for the audio stream within the converted media file, allowing for customized audio output.

Installation #

To use this package, add nyx_converter as a dependency in your pubspec.yaml file.

dependencies:
  nyx_converter: ^0.1.0

Platform Support #

The following table shows Android API level, iOS deployment target and macOS deployment target requirements in nyx_converter releases.

Android
API Level
iOS Minimum
Deployment Target
macOS Minimum
Deployment Target
24 12.1 10.15

Using #

Import: Import the package in your Dart code:

import 'package:nyx_converter/nyx_converter.dart';

Widget Usage: Use .convertTo method for initiate the media file path and desired output file path to save converted media file.

final filePath = 'path/to/my.mp4';
final outputPath = 'path/to/';
result =  NyxConverter.convertTo(
  filePath, // Specify the input file path
  outputPath, // Define the output file path

Container: Choose the desired container for your output media file.

Video Audio
AVI WAV
MP4 FLAC
MKV OGG
MOV AAC
WebM MP3
  container: NyxContainer.mp4,

Debug Mode: Set true for get detailed logs

  debugMode: true,

Output file name: Set output file name

  fileName: 'new_name',

Execution: execution callback provides the path of the converted file and the status and messages of the conversion process.

  execution: (String? path, NyxStatus status, {String? errorMessage}) {
    //TODO: codes
  }
);

TODO #

final filePath = 'path/to/my.mp4';
final outputPath = 'path/to/';
result =  NyxConverter.convertTo(
  //TODO: videoCodec: NyxVideoCodec.h264, // Specify the video codec (optional)
  //TODO: audioCodec: NyxAudioCodec.flac, // Define the audio codec (optional)
  //TODO: size: NyxSize.w1280h720, // Set the width and height in pixels (optional)
  //TODO: bitrate: NyxBitrate.k320, // Set the bitrate in kbps (optional)
  //TODO: frequency: NyxFrequency.hz48000, // Specify the sampling frequency in Hz (optional)
  //TODO: channelLayout: NyxChannelLayout.stereo // Define the number of channels (optional)
);

NyxCoverter.convertTo$.subscribe((int percent, int time, bool isDone) {
      printDebug('percent on complition $percent');
      printDebug('time of file process $time');
      printDebug('process is done $isDone');
});

if(result.path != null) {
    //TODO: converted file is ready
}

NyxConverter.convertTo$.kill(); // kill all process of NyxConverter widget
2
likes
150
pub points
56%
popularity
screenshot

Publisher

unverified uploader

A Flutter widget that makes it easier to convert formats, codecs, etc. of media files.

Repository (GitHub)
View/report issues
Contributing

Topics

#video #audio #converter #ffmpeg

Documentation

API reference

License

LGPL-3.0 (license)

Dependencies

ffmpeg_kit_flutter_full_gpl, flutter, path

More

Packages that depend on nyx_converter