---
name: "fmfconv"
section: "1"
platform: "linux"
package: "fuse-emulator-utils"
version: "1.4.3-2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fmfconv"
---

# fmfconv(1)

Fuse Movie File converter

## NAME

fmfconv — Fuse Movie File converter

## SYNOPSIS

**fmfconv** \[*options*\] \[*infile* \[*outfile* \[*soundfile*\]\]\]

## DESCRIPTION

fmfconv is a Fuse Movie File converter. It can read .fmf files produced by Fuse ZX Spectrum emulator and write audio files, video files or sequences of images in a variety of popular formats. It can also stream data to external tools through a pipe, so you can get virtually any possible format (see EXAMPLES).

fmfconv has built-in support for AIFF, AU and WAV sound formats, PPM and SCR image formats, AVI and YUV4MPEG2 video formats. Supports PNG and JPEG/MJPEG formats internally if libpng and libjpeg are available respectively.

## OPTIONS

### General options:

- \-h --help

  Give brief usage help, listing available options.

- \--info

  Scan input file(s) and print information.

- \-i *filename* --input *filename*

  Input file.

- \-o *filename* --output *filename*

  Output file.

- \-y --overwrite

  Force overwrite of existing output file(s).

- \-g *form* --progress *form*

  Show progress, where \`form' is one of \`%', \`bar', \`frame' or \`time'. frame and time are similar to bar and show movie seconds or frame number as well.

- \-q --quiet

  Decrease the verbosity level by one.

- \-v --verbose

  Increase the verbosity level by one.

- \-V --version

  Print the version number and exit.

### Audio options:

- \--aifc

  Force AIFF-C output if sound format is AIFF.

- \-m --aiff

  Save sound to Apple Computer audio (aiff/aiff-c) file.

- \-u --au

  Save sound to Sun Audio (au) file.

- \--mono

  Convert sound to mono (by default sound is converted to stereo).

- \--raw-sound

  Do not convert sound to 16-bit signed PCM and STEREO or MONO. This is an advanced option. If stereo/mono or audio encoding change through \`fmf' file, your sound will be crappy.

- \-s *filename* --sound *filename*

  Output sound file.

- \--sound-only

  Process only the sound from an \`fmf' file.

- \-E *rate* --srate *rate*

  Resample audio to \`rate' sampling rate where \`rate' is \`cd' for 44100 Hz or \`dat' for 48000 Hz or a number (\`cd' and \`dat' set \`stereo' as well).

- \-w --wav

  Save sound to Waveform Audio (wav) file.

### Video/image options:

- \--avi

  Save video as AVI format with built-in AVI encoder. If fmfconv supports jpeg files, encode video as M-JPEG and audio as S16\_LE PCM. If output is not a file (stdout or redirected) then fmfconv encode video as uncompressed BGR24 DIB frames (see --avi-mjpeg and --avi-uncompr).

- \-f *timing* --frate *timing*

  Set output frame rate. \`timing' is \`pal', \`ntsc', \`movie' or a number with maximum 3 digit after decimal point, or a #/# (e.g.: -f 29.97 or -f 30000/1001).\
   For video output formats (AVI/MJPEG/YUV4MPEG2) fmfconv set frame rate to 25 fps (PAL timing). If you want to keep the original frame rate use \`raw' timing.

- \-C *cut* --out-cut *cut*

  Leave out the comma delimited \`cut' ranges e.g.: 100-200,300,500,1:11-2:22 cut the frames 100–200, 300, 500 and frames from 1 min 11 sec to 2 min 22 sec (in the given timing see: -f/--frate).

- \-P --ppm

  Save video as PPM screenshots.

- \-S --scr

  Save video as SCR screenshots.

- \-Y --yuv

  Save video as yuv4mpeg2.

- \--yuv-format *frm*

  Set yuv4mpeg2 file frame format to \`frm', where \`frm' is one of \`444', \`422', \`420j', \`420m', \`420' or \`410'.

### The following options are available when PNG files are supported:

- \--greyscale

  Save greyscale images.

- \-G --png

  Save video frames as PNG screenshots.

- \--png-compress *level*

  Set compression level from a range 0–9, or \`none', \`fast', \`best'.

- \--progressive

  Save progressive (interlaced) PNG files.

### The following options are available when JPEG files are supported:

- \--avi-mjpeg

  Force the use of M-JPEG AVI frames (lossy).

- \--avi-uncompr

  Force the use of uncompressed BGR24 AVI frames. This format does not produce compression artifacts but the file size is bigger. It is a good choice if you want to process the video with an external tool.

- \--greyscale

  Save greyscale images or convert video frames.

- \-J --jpeg

  Save video frames as JPEG screenshots.

- \--jpeg-fast

  Use faster, less accurate integer method for DCT compression.

- \--jpeg-float

  Use floating-point method for DCT compression.

- \--jpeg-optimize

  Compute optimal Huffman coding tables for the image.

- \-Q --jpeg-quality *q*

  Set jpeg quality from a range 0–100.

- \--jpeg-smooth *factor*

  Set jpeg smoothing factor from a range 0–100.

- \-M --mjpeg

  Save video as raw M-JPEG file (abbreviated JPEG stream).

- \--progressive

  Save progressive (interlaced) JPEG files.

## EXAMPLES

Some of the following examples use  [*ffmpeg*(1)](/ffmpeg/1.md) as an external tool for doing the final conversion. In some distributions [*avconv*(1)](/avconv/1.md) is available, which accepts the same parameters.

Convert FMF to AVI:

```
fmfconv input.fmf output.avi
```

Convert FMF to a mpeg video with quality equivalent to YouTube:

```
fmfconv input.fmf | ffmpeg -i - -vf scale=480:360 -r 25
        -codec:v h264 -codec:a aac -f mp4 -b:a 128k
        -b:v 600k -pix_fmt yuv420p -strict -2 output.mp4
```

Convert FMF to compact lossless 720p:

```
fmfconv input.fmf | ffmpeg -i - -vf palettegen palette.png
fmfconv --raw-sound input.fmf | ffmpeg -i - -i palette.png
        -filter_complex
        "scale=960:720:flags=neighbor [x]; [x][1:v] paletteuse"
        -c:a flac -c:v zmbv -compression_level:a 12 output.mkv
```

Convert FMF to compact lossless 1080p:

```
fmfconv input.fmf | ffmpeg -i - -vf palettegen palette.png
fmfconv --raw-sound input.fmf | ffmpeg -i - -i palette.png
        -filter_complex
        "crop=288:216,scale=1440:1080:flags=neighbor
              [x]; [x][1:v] paletteuse"
        -c:a flac -c:v zmbv -compression_level:a 12 output.mkv
```

Convert FMF to a DVD video format:

```
fmfconv input.fmf | ffmpeg -i - -aspect 4:3 -target pal-dvd
        output.vob
```

Convert FMF to SVCD video format:

```
fmfconv input.fmf | ffmpeg -i - -aspect 4:3 -target pal-svcd
        output.mpg
```

Convert FMF to iPod video format:

```
fmfconv input.fmf | ffmpeg -i - -vf scale=320:240 -r 30
        -codec:v h264 -codec:a aac -f ipod -ar 44100 -b:a 128k
        -b:v 256k -pix_fmt yuv420p -strict -2 output.m4v
```

Convert FMF to animated GIF (25 fps) using ImageMagick:

```
fmfconv -f 25 input.fmf tmp.png
convert -delay 4 -loop 0 -layers removeDups -layers Optimize
        tmp*.png output.gif
```

Extract audio (mono) from a FMF file:

```
fmfconv --sound-only --mono input.fmf output.wav
```

## BUGS

None known.

## SEE ALSO

[*avconv*(1)](/avconv/1.md), [*ffmpeg*(1)](/ffmpeg/1.md), [*fuse*(1)](/fuse/1.md), [*fuse-utils*(1)](/fuse-utils/1.md), *imagemagick*(1).

The Fuse Movie File specification, at\
 *http://sourceforge.net/p/fuse-emulator/wiki/FMF%20File%20Format/*.

The comp.sys.sinclair Spectrum FAQ, at\
 *http://www.worldofspectrum.org/faq/index.html*.

## AUTHOR

Gergely Szasz.
