rtyle / gstfs-ng Goto Github PK
View Code? Open in Web Editor NEWA FUSE-based file system for dynamic gstreamer-based transcoding
License: GNU Lesser General Public License v3.0
A FUSE-based file system for dynamic gstreamer-based transcoding
License: GNU Lesser General Public License v3.0
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.
Could you provide a set of instructions on how to compile or is there a pre-packaged release for Ubuntu/Debian?
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.