-
Notifications
You must be signed in to change notification settings - Fork 2
A fuse filesystem for transcoding music files on demand
License
bcopeland/gstfs
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
GSTFS, a gstreamer-based transcoding FUSE filesystem Bob Copeland <me@bobcopeland.com> Introduction ~~~~~~~~~~~~ GSTFS is a filesystem for on-demand transcoding of music files between different formats. It utilizes the gstreamer library for conversion so any formats supported by gstreamer should also be supported by gstfs. The filesystem's only requirement is that the gstreamer pipeline begin with a filesrc with the name "_source" and end with an fdsink with the name "_dest". The filesystem will automatically substitute the filename and fd number in these pipelines. Usage ~~~~~ The example shell script mp32wav.sh is illustrative (pretend it's all on one line): #! /bin/sh gstfs -d -osrc=$1,src_ext=mp3,dst_ext=wav,\ pipeline="filesrc name=\"_source\" ! decodebin ! audioconvert ! \ wavenc ! fdsink name=\"_dest\" sync=false" $2 The pipeline loads the mp3 from a file, decodes it, converts it to the proper sampling rate, sample size and endianness, and encodes it as a wave file. gst-launch(1) is a useful program to test pipelines to see if they work (e.g. use alsasink). The parameters to the script are the music directory containing mp3s, followed by the mount point where wave files will appear. Once mounted, the first read of a file will transcode it, blocking until transcoding is complete. The transcoded data is cached in memory for subsequent reads. Mount Options ~~~~~~~~~~~~~ GSTFS currently recognizes the following mount options: src: The source directory of files you want to transcode src_ext: Source format file extension dst_ext: Target format file extension pipeline: gstreamer conversion pipeline ncache: number of files to cache in memory (default: 50) License ~~~~~~~ GSTFS is licensed under the LGPL so that it may be used with any set of gstreamer plugins. See the COPYING file for details.
About
A fuse filesystem for transcoding music files on demand
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published