mediatomb-0.11.0
所属分类:视频捕捉采集剪辑
开发工具:MultiPlatform
文件大小:1313KB
下载次数:25
上传日期:2008-04-03 12:22:12
上 传 者:
anson627
说明: UPnP MediaServer with a nice web user
interface, it allows you to stream your digital media through your home network
and listen to/watch it on a variety of UPnP compatible devices.
文件列表:
mediatomb-0.11.0\acinclude.m4 (9197, 2008-03-02)
mediatomb-0.11.0\aclocal.m4 (33540, 2008-03-02)
mediatomb-0.11.0\artwork\Makefile.am (26, 2008-03-02)
mediatomb-0.11.0\artwork\Makefile.in (9452, 2008-03-02)
mediatomb-0.11.0\artwork\mediatomb.xpm (6718, 2008-03-02)
mediatomb-0.11.0\AUTHORS (109, 2008-03-02)
mediatomb-0.11.0\autoconfig.h.in (17457, 2008-03-02)
mediatomb-0.11.0\build\dummy.h (0, 2008-03-02)
mediatomb-0.11.0\build\gen_libmediatomb_src.sh (110, 2008-03-02)
mediatomb-0.11.0\build\libmediatomb_src (6853, 2008-03-02)
mediatomb-0.11.0\build\Makefile.am (2500, 2008-03-02)
mediatomb-0.11.0\build\Makefile.in (305829, 2008-03-02)
mediatomb-0.11.0\ChangeLog (13710, 2008-03-02)
mediatomb-0.11.0\config\config.xsd (21014, 2008-03-02)
mediatomb-0.11.0\config\Makefile.am (169, 2008-03-02)
mediatomb-0.11.0\config\Makefile.in (10833, 2008-03-02)
mediatomb-0.11.0\config\mappings.xml (1362, 2008-03-02)
mediatomb-0.11.0\config\mediatomb-conf-fedora (686, 2008-03-02)
mediatomb-0.11.0\config\mysql.sql (3820, 2008-03-02)
mediatomb-0.11.0\config\sqlite3.sql (2933, 2008-03-02)
mediatomb-0.11.0\configure (928344, 2008-03-02)
mediatomb-0.11.0\configure.ac (92848, 2008-03-02)
mediatomb-0.11.0\configure_aux\compile (3707, 2008-03-02)
mediatomb-0.11.0\configure_aux\config.guess (44573, 2008-03-02)
mediatomb-0.11.0\configure_aux\config.sub (32665, 2008-03-02)
mediatomb-0.11.0\configure_aux\depcomp (17574, 2008-03-02)
mediatomb-0.11.0\configure_aux\install-sh (13184, 2008-03-02)
mediatomb-0.11.0\configure_aux\missing (11135, 2008-03-02)
mediatomb-0.11.0\COPYING (18166, 2008-03-02)
mediatomb-0.11.0\doc\doxygen.conf (8093, 2008-03-02)
mediatomb-0.11.0\doc\Makefile.am (254, 2008-03-02)
mediatomb-0.11.0\doc\Makefile.in (11443, 2008-03-02)
mediatomb-0.11.0\doc\manpage.xml (10450, 2008-03-02)
mediatomb-0.11.0\doc\mediatomb.1 (4806, 2008-03-02)
mediatomb-0.11.0\doc\scripting.txt (29120, 2008-03-02)
mediatomb-0.11.0\doc\scripting_utf8.txt (29429, 2008-03-02)
mediatomb-0.11.0\doc\transcoding.txt (19064, 2008-03-02)
mediatomb-0.11.0\doc\transcoding_utf8.txt (19274, 2008-03-02)
mediatomb-0.11.0\doc\ui.txt (11467, 2008-03-02)
mediatomb-0.11.0\doc\ui_utf8.txt (11744, 2008-03-02)
... ...
MediaTomb - UPnP MediaServer
This documentation is valid for MediaTomb version 0.11.0.
Copyright 2005 Gena Batsyan, Sergey Bostandzhyan
Copyright 2006-2007 Gena Batsyan, Sergey Bostandzhyan, Leonhard Wimmer
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
-------------------------------------------------------------------------------
Table of Contents
1. Introduction
1.1. Currently Supported Features
1.2. Planned Features
2. Requirements
3. Compiling From Source
3.1. Standard Method
3.2. Configure Options
4. Initial Installation
4.1. Network Setup
4.2. First Time Launch
5. Command Line Options
5.1. IP Address
5.2. Interface
5.3. Port
5.4. Configuration File
5.5. Daemon Mode
5.6. Home Directory
5.7. Config Directory
5.8. Write PID File
5.9. Run Under Different User Name
5.10. Run Under Different Group
5.11. Add Content
5.12. Log To File
5.13. Display Command Line Summary
6. Configuration File
6.1. Server Settings
6.2. Import Settings
6.3. Transcoding Settings
7. Supported Devices
7.1. MediaRenderers
7.2. Network Attached Storage Devices
8. Running The Server
9. Legal
9.1. Copyright
9.2. License
10. Acknowledgments
11. Contributions
1. Introduction
MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user
interface, it allows you to stream your digital media through your home network
and listen to/watch it on a variety of UPnP compatible devices.
MediaTomb implements the UPnP MediaServer V 1.0 specification that can be found
on http://www.upnp.org/. The current implementation focuses on parts that are
required by the specification, however we look into extending the functionality
to cover the optional parts of the spec as well.
MediaTomb should work with any UPnP compliant MediaRenderer, please tell us if
you experience difficulties with particular models, also take a look at the
Supported Devices list for more information.
WARNING!
The server has an integrated file system browser in the UI, that means that
anyone who has access to the UI can browse your file system (with user
permissions under which the server is running) and also download your data! If
you want maximum security - disable the UI completely! Account authentication
offers simple protection that might hold back your kids, but it is not secure
enough for use in an untrusted environment!
Note:
since the server is meant to be used in a home LAN environment the UI is
enabled by default and accounts are deactivated, thus allowing anyone on
your network to connect to the user interface.
1.1. Currently Supported Features
* browse and playback your media via UPnP
* metadata extraction from mp3, ogg, flac, jpeg, etc. files.
* Exif thumbnail support
* user defined server layout based on extracted metadata (scriptable virtual
containers)
* automatic directory rescans
* sophisticated web UI with a tree view of the database and the file system,
allowing to add/remove/edit/browse your media
* highly flexible transcoding media format transcoding via plugins / scripts
* support for external URLs (create links to internet content and serve them
via UPnP to your renderer)
* support for ContentDirectoryService container updates
* Active Items (experimental feature), allows execution of server side
scripts upon HTTP GET requests to certain items
* highly flexible configuration, allowing you to control the behavior of
various features of the server
* support for Linux, FreeBSD, Mac OS X
* runs on x86, Alpha, ARM, MIPS, Sparc, PowerPC
1.2. Planned Features
* transcoding of audio and video
* playlist support
* various UPnP improvements
2. Requirements
Note:
remember to install associated development packages, because development
headers are needed for compilation!
Note:
libupnp is now a part of MediaTomb and does not have to be installed
separately. We base our heavily patched version on libupnp 1.4.1 from http:
//pupnp.sf.net/
Note:
you need at least one database in order to compile and run MediaTomb -
either sqlite or mysql.
In order to compile MediaTomb you will have to install the following packages.:
* sqlite (version > 3.x) http://www.sqlite.org/ REQUIRED (if mysql is not
available)
* mysql client library (version > 4.0.x) http://mysql.org/ REQUIRED (if
sqlite is not available)
* expat http://expat.sourceforge.net/ OPTIONAL, RECOMMENDED
Expat is a very good and robust XML parser, so far we have been using our
own, but ran into problems from time to time. So from now on eXpat is the
preferred for parsing XML in MediaTomb.
* zlib http://www.zlib.net/ OPTIONAL, HIGHLY RECOMMENDED
Zlib is a compression library that is available on most systems, we need it
for the database autocreation functionality. Make sure to install the zlib
development package providing zlib.h, if it is not available you will need
to create the MediaTomb sqlite3/MySQL database manually.
* libmagic OPTIONAL, RECOMMENDED
This is the 'file' package, it is used to determine the mime type of the
media. If you don't have this you will have to enter file extension to mime
type mappings manually in your config file.
* js - SpiderMonkey JavaScript Engine http://www.mozilla.org/js/spidermonkey/
OPTIONAL, RECOMMENDED
This package is necessary to allow the user defined creation of virtual
containers. The import.js script defines the layout of your media, the
default import script will create a structure sorted by Audio/Photo/Video,
it will make use of the gathered metadata (like ID3 tags) to sort your
music by Artist/Album/Genre/Year , etc. The import script can be adjusted
and modified - it allows you to create the layout that you want.
* taglib http://developer.kde.org/~wheeler/taglib.html OPTIONAL, RECOMMENDED
This library retrieves metadata from mp3, ogg and flac files. You will need
it if you want to have virtual objects for those files (i.e. nice content
layout).
Note:
It makes no sense to use taglib and id3lib at the same time, the
configure script will first look for TagLib, if TagLib detection fails
it will search for id3lib. You can also force the configure script to
take the library of your choice, overriding the default setting.
* id3lib http://id3lib.sourceforge.net/ (at least version 3.8.3) OPTIONAL,
RECOMMENDED (if TagLib is not available)
This library retrieves id3 tags from mp3 files.
* libexif http://libexif.sourceforge.net/ OPTIONAL, RECOMMENDED
You will need this library if you want to extract metadata from images,
this will allow you to have virtual containers for your Photos, sorted by
various attributes like Date, etc. It also enables thumbnail support: if
EXIF thumbnails are present in your images they will also be offered via
UPnP.
* curl http://curl.haxx.se/ OPTIONAL
curl is a library that allows to easily fetch content from the web,
combined with the external transcoding it offers some additional
functionality and enables the use of plugins that have no builtin online
content support.
* libextractor http://gnunet.org/libextractor/ OPTIONAL
This library tries to gather metadata from all kinds of files (also .avi
and .asf). The drawback is, that it can be very slow at scanning video
files. We also noticed that it uses a lot of memory when reading files, the
result is, that media import becomes extremely slow. It is up to you if you
want to use it or not, you may try the 'extract' utility that is provided
with the library to check if there is any metadata that can be extracted
from your media prior to enabling this feature in MediaTomb. By default
libextractor is disabled, use ./configure --enable-libextractor to activate
it.
* ffmpeg http://ffmpeg.mplayerhq.hu/ OPTIONAL
Currently ffmpeg is used to gather additional metadata from audio and video
files.
In order to use the web UI you will need to have javascript enabled in your web
browser.
The UI has been tested and works with the recent versions of :
* Firefox/Mozilla
* Opera
Tested and does not work with the recent versions of:
* Konqueror
* Safari
Limited functionality with:
* Internet Explorer 6 and 7
3. Compiling From Source
3.1. Standard Method
If you don't care about the details - make sure you have installed the required
packages and the appropriate development headers and simply run
$ ./configure
$ make
$ make install
This should compile and install MediaTomb, the resulting binary is ready to
run.
Note:
if you checked out the sources from SVN the configure script will not be
available, you will have to create it with the following command:
autoreconf -i
3.2. Configure Options
The MediaTomb configure script provides a large variety of options, allowing
you to specify the additional libraries that will be used, features that will
be compiled or disabled, workarounds for known bugs in some distributions and
so on. Some options are straightforward, some require deeper knowledge - make
sure you know what you are doing :)
3.2.1. Install Location Of Architecture Independent Files
--prefix=PREFIX
Default:
/usr/local/
Install all architecture independent files - all .js files and .png images for
the Web UI, the import.js script, the service description XML files - in the
directory of your choice. This is especially useful if you do not want to
perform a system-wide installation, but want to install MediaTomb only for your
user.
Important:
the prefix path will be compiled into the binary; the binary will still be
relocatable, but you move those files you will have to point MediaTomb to
the proper location by specifying it in the server configuration file.
3.2.2. Static Build
--enable-static
Default:
disabled
Build a static binary. This may be useful if you plan to install a precompiled
MediaTomb binary on a system that does not have all the required libraries and
where installation of those libraries is not possible due to reasons beyond
your control.
Note:
if you enable this option, make sure that you have all static versions of
the appropriate libraries installed on your system. The configure script
may not detect that those are missing - in this case you will get linker
errors. Some distributions, for example Fedora Core, do not ship static
library versions.
3.2.3. Automatically Create Database
--enable-db-autocreate
Default:
enabled
Automatically create the database if it is missing (for example upon a first
time launch). Disabling this will make the resulting binary a little smaller,
however you will have to take care of the database creation yourself by
invoking the appropriate .sql scripts that are provided with the package.
Note:
the server configuration file has to be setup correctly. Either sqlite or
MySQL has to be chosen in the storage section, for sqlite the database file
has to point to a writable location, for MySQL the user has to be setup
with a valid password and permissions and the database "mediatomb" has to
exist.
3.2.4. Debug Malloc/Realloc Of Zero bytes
--enable-debug-malloc0
Default:
disabled
This feature is only for debugging purposes, whenever a malloc or realloc with
a value of zero bytes is encountered, the server will terminate with abort()
3.2.5. Force Linking With The Pthread Library
--enable-pthread-lib
Default:
disabled
We use the ACX_PTHREAD macro from the autoconf archive to determine the way how
to link against the pthread library. Usually it works fine, but it can fail
when cross compiling. This configure option tells us to use -lpthread when
linking, it seems to be needed when building MediaTomb under Optware. Note,
that using --disable-pthread-lib will not prevent automatic checks against the
pthread library.
3.2.6. Force Linking With The Iconv Library
--enable-iconv-lib
Default:
disabled
By default we will attempt to use iconv functionality provided with glibc,
however under some circumstances it may make sense to link against a separate
iconv library. This option will attempt to do that. Note, that using
--disable-iconv-lib will not prevent automatic attempts to link ageinst the
iconv library in the case where builtin glibc iconv functionality is not
available.
3.2.7. Use Atomic Assembler Code For x86 Single CPU systems
--enable-atomic-x86-single
Default:
disabled
Use assembler code suited for single CPU x86 machines. This may improve
performance, but your binary will not function properly on SMP systems. If you
specify this for a non x86 architecture the binary will not run at all. If you
wonder about the purpose of assembler code in a mediaserver application: we
need it for atomic operations that are required for reference counting. The
pthread library will be used as a fallback for other architectures, but can
also be forced by a designated configure option. This however, will have the
worst performance.
By default x86 SMP code will be used on x86 systems - it will reliably work on
both SMP and single CPU systems, but will not be as fast as the
atomic-x86-single option on uniprocessor machines.
3.2.8. Use Pthread Code For Atomic Operations
--enable-atomic-pthread
Default:
auto detect
This is the default setting for non x86 architectures, we may add assembler
optimizations for other architectures as well, but currently only x86
optimizations are available. This option may also be safely used on x86
machines - the drawback is poor performance, compared to assembler optimized
code.
3.2.9. Enable SIGHUP Handling
--enable-sighup
This option turns on SIGHUP handling, every time a SIGHUP is caught we will
attempt to restart the server and reread the configuration file. By default
this feature is enabled for x86 platforms, but is disabled for others. We
discovered that MediaTomb will not cleanly restart on ARM based systems,
investigations revealed that this is somehow related to an unclean libupnp
shutdown. This will be fixed in a later release.
Default:
auto detect
3.2.10. X_MS_MediaReceiverRegistrar Support
--enable-mrreg-service
Default:
disabled
This option will enable the compilation and support of the
X_MS_MediaReceiverRegistrar UPnP service, this was implemented for future Xbox
360 support. If you have a renderer that requires this service, you can safely
enable it. It will always return true to IsValidated and IsAuthorized requests.
Note:
eventhough this service is implemented there is still no Xbox 360 support
in MediaTomb, more work needs to be done.
3.2.11. Playstation 3 Support
--enable-protocolinfo-extension
Default:
enabled
This option allows to send additional information in the protocolInfo
attribute, this will enable MP3 and MPEG4 playback for the Playstation 3, but
may also be useful to some other renderers.
Note:
allthough compiled in, this feature is disabled in configuration by
default.
3.2.12. Fseeko Check
--disable-fseeko-check
Default:
enabled
This is a workaround for a bug in some Debian distributions, disable this check
if you know that your system has large file support, but configure fails to
detect it.
3.2.13. Largefile Support
--disable-largefile
Default:
auto
By default largefile support will be auto detected by configure, however you
can disable it if you do not want it or if you experience problems with it on
your system.
3.2.14. Redefinition Of Malloc And Realloc
--disable-rpl-malloc
Default:
enabled
Autoconf may redefine malloc and realloc functions to rpl_malloc and
rpl_realloc, usually this will happen if the autotools think that you are
compiling against a non GNU C library. Since malloc and realloc may behave
different on other systems, this gives us the opportunity to write wrapper
functions to handle special cases. However, this redefinition may get triggered
when cross compiling, even if you are compiling against the GNU C lib. If this
is the case, you can use this option to disable the redefinition.
3.2.15. SQLite Support
--enable-sqlite3
Default:
enabled
The SQLite database is very easy in installation and use, you do not have to
setup any users, permissions, etc. A database file will be simply created as
specified in the MediaTomb configuration. At least SQLite version 3 is
required.
3.2.16. MySQL Support
--enable-mysql
Default:
enabled
MySQL is a very powerful database, however it requires some additional setup.
You will find information on how to setup MediaTomb with MySQL in the
Installation section.
3.2.17. SpiderMonkey LibJS Support
--enable-libjs
Default:
enabled
SpiderMonkey is Mozilla's JavaScript engine, it plays a very important role in
MediaTomb. We use it to create a nice virtual container layout based on the
metadata that is extracted from your media. We also allow the user to create
custom import scripts, so everyone has the possibility to adapt the layout to
ones personal needs. Read more about this in the installation section.
The main problem with this library is, that it is called differently on various
distributions and that it is installed in different locations. For example, it
is called js on Fedora, but is available under the name of smjs on Debian. If
configure fails to find your js headers and libraries you can point it to the
desired locations (see options below).
3.2.18. Filemagic Support
--enable-libmagic
Default:
enabled
This library determines the file type and provides us with the appropriate mime
type information. It is very important to correctly determine the mime type of
your media - this information will be sent to your renderer. Based on the mime
type information, the renderer will decide if it can play/display the
particular file or not. If auto detection returns strange mime types, you may
want to do a check using the 'file' command (the 'file' package must be
installed on your system). Assuming that you want to check somefile.avi enter
the following in your terminal:
$ file -i somefile.avi
This will print the detected mime type, this is exactly the information that we
use in MediaTomb. You can override auto detection by defining appropriate file
extension to mime type mappings in your configuration file. You can also edit
the mime type information of an imported object manually via the web UI.
3.2.19. Id3lib Support
--enable-id3lib
Default:
disabled, used if taglib is not available
This library will parse id3 tags of your MP3 files, the gathered information
will be saved in the database and provided via UPnP. Further, the gathered
metadata will be used by the import script to create a nice container layout
(Audio/Artist/Album, etc.)
3.2.20. Taglib Support
--enable-taglib
Default:
enabled, preffered over id3lib
This library will parse id3 tags of your MP3 files as well as information
provided with flac files. It claims to be faster than id3lib, but it also seems
to have some drawbacks. We had some cases where it crashed when trying to parse
tags of certain MP3 files on embedded systems, ... ...
近期下载者:
相关文件:
收藏者: