-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
56 lines (45 loc) · 2.85 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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.