xtreacker Code
Status: Alpha
Brought to you by:
azslow3
File | Date | Author | Commit |
---|---|---|---|
src | 2010-01-17 | azslow3 | [r2] Dynamic structure (dir/ldir) |
AUTHORS | 2010-01-14 | azslow3 | [r1] The initial public release |
COPYING | 2010-01-14 | azslow3 | [r1] The initial public release |
ChangeLog | 2010-01-17 | azslow3 | [r2] Dynamic structure (dir/ldir) |
INSTALL | 2010-01-14 | azslow3 | [r1] The initial public release |
Makefile.am | 2010-01-14 | azslow3 | [r1] The initial public release |
NEWS | 2010-01-14 | azslow3 | [r1] The initial public release |
README | 2010-01-17 | azslow3 | [r2] Dynamic structure (dir/ldir) |
config.h.in | 2010-01-14 | azslow3 | [r1] The initial public release |
configure.ac | 2010-01-14 | azslow3 | [r1] The initial public release |
xtreacker: mount streams as files Copyright (C) 2010 azslow3 This program can be distributed under the terms of the GNU GPL. See the file COPYING. WARNING: the program is at early development. Do not use it in "production" environment. WHAT IS IT ALL ABOUT? Xtreacker is a FUSE based filesystem which uses output of some command as the content of some file. Several such filesystems are already available and have far more muture state. So, why jet another? Unlike other systems, Xtreacker assume that the content is a (potentially endless) stream. It also make this content usable for media players. The name comes from hardware media player for which it was developed, Xtreamer. That is XTREAmer triCKER. While Xtreamer supports near all modern contents, it is at the moment is not able to process streams from the network, while can play local and remote files. Xtreacker make it think that the stream is "just a file", so Xtreamer has no problems with processing it. What makes streams so different from files? They are endless, the content can not be "reloaded" and some of them (Online TV) are transfered with the speed of the stream (slow). File oriented alternatives assumes that the source has fixed source, can be downloaded fast and can be "rewind" if required. In addition, Xtreamer required some additional "trick": it checks the access speed first, which fails for "slow" content. REQUIREMENTS: Xtreacker can run on Linux based system. It was developed on x86_64 Ubuntu platform and was tested on ARM based plateform. The only requirement is working FUSE. That includes FUSE kernel module (separate or build into kernel) and libfuse library. For compilation, it also required include files of libfuse. At run time it need some "stream provider" application. Xtreamer was tested with mplayer in "--dumpstream" mode, but there was reports that wget and even cat (for testing) are working fine as well. INSTALLATION: ./configure && make && make install Note, that currently log file path is hardcoded into the source and is "/var/log/xtreacker.log". RUN: xtreacker --flist=<conf_file_name> [-d] [-o fuse_parameters] <mount point> Where: -d - is specified, leave the program in foreground and produce extra debugging information to the standard output. <mount point> - is a directory where the "files" will be visible -o parameters - standard FUSE parameters, most usefull is "allow_other", required if you run xtreacker as root and access as normal user. <conf_file_name> - the name of configuration file with format: #XTFL1 # Comment lines started with '#' file1.ext stream command to run with parameters which produce %out "Dirname" ldir full_path_to_flist_file_for_this_directory DynDir dir command which output flist file into %out Note, "#XTFL1" must be present as the first line, verbatim. "File name.ext" will be the file name visible in the system. It should be quoted in case it contains spaces. The number (second token) is not really used... The command should stream the content into named pipe "%out". "%out" will be substituted by real pipe name at run time. Example: #XTFL1 file.wmv stream mplayer --dumpstream --dumpfile %out http://online.tv.url file2.wmv stream mplayer --dumpstream --dumpfile %out my_video.wmv file3.mpeg stream wget http://video.unicast.url -O %out