Skip to content

Repository files navigation

App Store Google Play Website

minimo video screenshots

minimo (video) is a free mobile app for shrinking videos directly on your device. No cloud upload. No subscription. Your videos stay yours.

Features

  • Simple quality presets: high, medium, low
  • Advanced controls: resolution, bitrate, frame rate, codec, and audio
  • Batch compression
  • Save and share compressed videos

Native compression pipeline

flowchart TD
    A[CompressBloc<br/>processes videos sequentially] --> B[VideoCompressorAdapter<br/>builds bitrate, resolution, frame rate, codec and audio config]
    B --> C[light_compressor_v2]
    C --> D{Native platform plugin}

    subgraph Android
        E[MediaCodec and MediaMuxer]
        E --> F[MP4 output]
    end

    subgraph iOS
        G[AVFoundation]
        G --> H[MP4 output]
    end

    D -->|Android| E
    D -->|iOS| G
    C -.->|progress stream| A
    F --> I[Native result]
    H --> I
    I --> J{Output is smaller?}
    J -->|Yes| K[Move MP4 to app output]
    J -->|No| L[Discard result and keep original]
Loading

Compression uses native platform APIs, not FFmpeg. Input, output, and intermediate files stay on the device.

Why not FFmpeg?

Native Android codecs and AVFoundation keep the app smaller, use platform hardware acceleration, consume less battery, and avoid bundling another native runtime. They cover minimo's current goal: straightforward on-device video compression.

The trade-off is less low-level control and small output differences between Android and iOS. FFmpeg would make sense if the app needed identical cross-platform encoding, uncommon formats, or complex filter pipelines.

FFmpeg is available under LGPL or GPL depending on how it is built and which components are enabled. Shipping its binaries would require tracking that configuration and satisfying the corresponding redistribution, attribution, relinking, and source-code obligations. Using system Android and iOS codecs avoids distributing FFmpeg and keeps the app itself under the MIT License. Codec patent and store requirements may still apply independently.

How to contribute

Contributing Code of Conduct

Credits

Video compression is powered by light_compressor_v2. Respect and thanks to its maintainers and contributors.

Special thanks to Kamran Bekirov and his website Flutter Pro Design. I learned from and adapted many ideas from his work for myself and for this app.

Contacts

@khlebobul Email - khlebobul@gmail.com @khlebobul_dev Personal - Website

License

LICENCE - MIT

Releases

Sponsor this project

Contributors

Languages