Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fempeg Logo


Fempeg

Fempeg is a Rust tool that converts Nikon NEF RAW files into processed image formats like PNG or JPEG.


Installation

Windows

On GitHub releases, there are two versions:

  1. fempeg.exeWithout ExifTool

    • Includes only some basic EXIF info (printed to bash).
    • Smaller file size (~3MB).
    • No additional dependencies required.
  2. fempeg-exif.exeWith ExifTool

    • Full EXIF support, including the -i interactive TUI for searching EXIF info.
    • Larger file size (~36MB).
    • No additional dependencies required.

Download the version that fits your needs.

Unix

git clone https://github.com/SirPigari/fempeg.git
cd fempeg
  • Without ExifTool:
cargo build --release
  • With ExifTool:
cargo build --release --features include_exiftool

Make sure you have libraw and exiftool installed if using the include_exiftool feature.

The output binary will be in target/release/fempeg.


Usage

Fempeg supports exporting to a wide range of image formats for maximum compatibility:

  • PNG
  • JPEG (or JPG)
  • BMP
  • GIF
  • WebP
  • TIFF (or TIF)
  • TGA
  • ICO
  • HDR
  • OpenEXR (or EXR)
  • PNM (PBM, PGM, PPM, PAM)
  • Farbfeld (or FF)
  • AVIF
  • QOI

Convert a single NEF to PNG (default)

fempeg ./photo.NEF

Convert a single NEF to a specific output path

fempeg photo.NEF -o ./output/photo_out.png

Convert a directory of NEFs

fempeg ./nefs -o ./out --format png

Convert to multiple formats at once

fempeg photo.NEF -o ./out -f png+jpeg

Flags

  • -r, --ratio <R> → Resize output image by ratio (0 < R <= 1), default: 0.15
  • -t, --threads <N> → Number of threads to use, default: number of CPU cores
  • -p, --preview → Use the embedded preview image instead of full RAW processing
  • -b, --brightness [VAL] → Brightness control. Accepts auto|none|<float>|<int>|<percent>%. No flag = leave as-is. -b without value => auto
  • -R, --rotation <VAL>auto to use EXIF orientation or explicit degrees (90,180,270)
  • -e, --enhance → Apply a light enhancement (unsharpen + small contrast)
  • -d, --debug → Enable debug output
  • --sort <METHOD> → Sort input files before processing (name, numeric, size, mtime)
  • -i, --info → Show EXIF info about the file, exit afterwards (interactive TUI available if using ExifTool)
  • -h, --help → Show help message

Dependencies

  • libraw → RAW conversion library
  • ExifTool → Metadata extraction (included in Windows fempeg-exif.exe or via --features include_exiftool on Unix)
  • Windows users do not need to install any dependencies.
  • All other dependencies are managed by cargo

Note: Fempeg has been tested only with Nikon NEF files.
While libraw supports most Nikon cameras, some newer or software-generated NEFs may not decode correctly.


License

About

A simple tool that converts raw NEF files into processed image files, written in Rust.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages