OpenConverter is software built on the FFmpeg, Qt, and BMF. It provides simple and user-friendly tools to convert, edit, and process audio and video files.
The converter includes the following main features:
- Supports changing video/audio codecs for encoding (e.g., libx264, libx265, aac, ac3) with resolution scaling and pixel format conversion.
- Supports lossless multimedia conversion.
- Displays information about video and audio streams in multimedia files.
- Compresses images with format and quality control.
- Extracts audio from video files.
- Cuts video with built-in FFmpeg-based player and precise time selection.
- Batch processing with queue management for multiple files.
- Shows smooth progress tracking and accurate remaining time while converting files.
- Allows runtime switching of transcoding cores (FFmpeg, FFTool, BMF).
- Provides both GUI and Command Line Interface (CLI) for flexible usage.
This project is developed using the Qt framework, the FFmpeg library, and the BMF framework.
For FFmpeg development tutorials, refer to Learn FFmpeg the Hard Way.
After running OpenConverter, you can see and use the following features:
This converter allows users to easily change audio and video codecs. For example, you can choose to use the libx264 or libx265 encoder for higher compression rates and better video quality.
Additionally supports:
- Resolution scaling (e.g., 1920x1080 → 1280x720, 4K → 1080p)
- Pixel format conversion (e.g., yuv420p, yuv444p, rgb24)
- Bitrate control for both video and audio
- Quality control with qscale parameter
The converter also supports lossless multimedia conversion. This means you can directly convert files from one format to another without re-encoding the original video and audio streams. This is very useful for quick file conversions.
This converter can display detailed information about video and audio streams, including resolution, frame rate, bitrate, etc. This helps you understand the properties of multimedia files for making appropriate adjustments during conversion.
Compress images with customizable settings:
- Format conversion (JPEG, PNG, WebP, BMP)
- Resolution adjustment
- Quality control (1-31)
Extract audio from video files with codec selection:
- Multiple audio formats (MP3, AAC, AC3, FLAC, WAV)
- Bitrate control
Cut video segments with precision:
- Built-in FFmpeg-based video player
- Real-time playback and seeking
- Accurate start/end time selection
- Supports all FFmpeg-compatible formats
Process multiple files efficiently:
- Visual file filter management with tag-based interface
- Add files individually or scan entire directories
- Queue management with progress monitoring
- Configurable output directory and file suffix
- Support for transcode, extract audio, compress picture, and create GIF operations
- Real-time progress tracking for each file in the queue
During file conversion, the player provides:
- Smooth progress updates with UI-friendly refresh rates
- Accurate remaining time estimation using duration smoothing
- Real-time progress percentage and duration tracking
- Detailed console output for monitoring conversion status
The software offers three different transcoding cores to choose from:
- FFmpeg API-based core for direct library integration
- FFTool core for command-line tool integration
- BMF framework-based core for advanced processing You can also selectively compile these cores based on your needs.
Usage in non-GUI mode:
> ./OpenConverter
Usage: ./OpenConverter [options] input_file output_file
Options:
--transcoder TYPE Set transcoder type (FFMPEG, BMF, FFTOOL)
-v, --video-codec CODEC Set video codec (could set copy)
-q, --qscale QSCALE Set qscale for video codec
-a, --audio-codec CODEC Set audio codec (could set copy)
-b:v, --bitrate:video BITRATE Set bitrate for video codec
-b:a, --bitrate:audio BITRATE Set bitrate for audio codec
-pix_fmt PIX_FMT Set pixel format for video
-scale SCALE(w)x(h) Set scale for video (width x height)
-ss START_TIME Set start time for cutting (format: HH:MM:SS or seconds)
-to END_TIME Set end time for cutting (format: HH:MM:SS or seconds)
-t DURATION Set duration for cutting (format: HH:MM:SS or seconds)
-h, --help Show this help message
Note: Use either -to or -t, not both. If both are specified, -to takes precedence.Example:
# Convert video using FFmpeg core with H.264 video codec
./OpenConverter -t FFMPEG -v libx264 input.mp4 output.mp4
# Convert video using BMF core with H.265 video codec and AAC audio codec
./OpenConverter -t BMF -v libx265 -a aac input.mp4 output.mp4If you encounter any issues during operation, feel free to check our User Guide Documentation.
If you are interested in contributing to the project or have found any bugs, please refer to our Contribution Guide.
OpenConverter is open-source software licensed under the Apache 2.0 License. Please read the LICENSE file before use.


