ffmpegfs: FUSE-based file system for video and audio


Surely you know that there are several types of file systems or FS (File System in English). Some based on FUSE (Filesystem in Userspace), a Linux kernel module that allows a non-privileged user to create their own file systems without editing the kernel code.

This is achieved thanks to this "bridge" implementation to be able to have systems Virtual FS (see VFS), which unlike the traditional ones, do not store their own data. They just act as an intermediate layer roughly said without going into too much detail.

That said, you probably also know the powerful ffmpeg tool, for multimedia content to repair, modify, and change file formats, among other things. A powerful utility that we have already written about in this blog. Well, now joining both concepts we have ffmpegfs.

What is ffmpegfs? It is a FUSE-based file system for transcoding video and audio on the fly while open. Something super practical and interesting.

The ffmpegfs highlights are:

  • Transcoding read-only. That is, convert audio and video formats on the fly.
  • Gratuitous, and you can see the page in Github.
  • supports formats such as MP4, WebM, OGG, MP3, OPUS, MOV, ProRes, WaV, etc.
  • Written in C and C ++, making use of the FUSE library.

For its installation, you can do it from the repos of your favorite distro, such as with APT-GET in Debian and derivatives. Once installed, you can easily use it. For example, imagine you want convert all files from a directory / home / multimedia to MOV and pass them to / home / converted, then you can use the following command:

ffmpegfs --desttype=mov+aiff --log_maxlevel=DEBUG --cachepath=/tmp/cache ~/home/multimedia ~/home/convertidos

Or you can convert all the audio from that same directory to MP3 with 256 Bitrate:

ffmpegfs --audiobitrate=256K --desttype=mp3 ~/home/multimedia ~/home/convertidos -o allow_other,ro

As you can see, it is quite simple to use ...

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.