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, ... ...

近期下载者

相关文件


收藏者