Git Product home page Git Product logo

gstfs-ng's Introduction

gstfs-ng

A FUSE-based file system that works as a dynamic gstreamer-based transcoder
over an existing directory.
For example, this can make your FLAC music archive
appear as an MP3 or OGG archive.
Transcodings can be cached in memory and persisted to disk.

See COPYING for license, ChangeLog for history.

See man page (man ./gstfs-ng.8) for details,
from which the following is extracted:

       gstfs-ng  is  a  read-only  filesystem  that  acts as a gstreamer-based
       transcoding facade (visible at MOUNTPOINT) over an existing  BASEDIREC‐
       TORY tree.

       Perhaps gstfs-ng is best explained by an example use case:

       A  music  archive stored on a computer might enjoy ample space for disk
       storage and, therefore, the archive  maintainer  might  choose  a  high
       quality  lossless encoding to store content.  For lack of storage, how‐
       ever, the same archive might not fit on a  portable  media  player.   A
       portable  media  player might require a lower quality lossy encoding to
       store the complete archive.

       In order to balance the needs between quality and size,  one  might  be
       tempted  to  store both a high quality lossless and a low quality lossy
       archive on their computer.  This, of course, requires additional  stor‐
       age  on  the computer and presents the archive maintainer with synchro‐
       nization problems.

       gstfs-ng helps by allowing one archive type appear as another.  In this
       case,  it  allows the large high quality archive to appear as a smaller
       low quality one.  To make this happen, gstfs-ng must be told where  the
       base  of  the  original archive is, where the transcoded archive should
       appear and the transcodings that should take place between them.

       The transcodings that are to occur are specified as transcode mappings.
       Each mapping must specify a source extension (e.g. source=flac), a tar‐
       get extension (e.g. target=ogg) and a  gstreamer  pipeline  description
       that can be used to perform the transcoding.  gstfs-ng can perform many
       such mappings at once as long as the source to target file name  exten‐
       sion  mapping  is one-to-one.  gstfs-ng creates a new transcode mapping
       as soon as it has all three components and then prepares to  build  the
       next.

       While  gstfs-ng  relies on fuse (Filesystem in Userspace) technology to
       allow transcoded  files  to  appear  as  a  filesystem,  it  relies  on
       gstreamer  technology to actually perform the transcodings.  This means
       that that type of transcodings that gstfs-ng can perform are only  lim‐
       ited  by the capabilities of (audio/video/tagging formats supported by)
       the installed gstreamer implementation.

       gstfs-ng is dependent on gstreamer-1.0 interfaces as of  gstfs-ng  ver‐
       sion 1.0.

gstfs-ng's People

Contributors

rtyle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

goga1992

gstfs-ng's Issues

Question about compile

Could you provide a set of instructions on how to compile or is there a pre-packaged release for Ubuntu/Debian?

Add option to preserve disk cache between restarts

It would be nice if we could optionally preserve the disk cache between restarts. My music library doesn't change that often, but every time I remount the volume I have to re-convert everything all over again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.