|  |   | 
| (25 intermediate revisions by the same user not shown) | 
| Line 1: | Line 1: | 
|  | '''llink is a media streamer''' that let's you play movies, view online trailers, browse images or play music over a network using the http protocol. It should work with most Syabas NMT hardware (NetworkedMediaTank middleware based players), such as the Popcorn Hour A- and B-series, HDX, iSTAR, Egreat a whole range of others, possibly even a couple of older ones like the LinkTheater. Some of the best reasons to run llink is that it can run on a great many platforms, including most popular NAS devices - even on the NMT player itself - and it can play media directly from RAR files.
 |  | == libdvdread.plus == | 
|  | 
 |  | 
 | 
|  |  | I have made some patches to the regular '''libdvdread''' library used by many developers. Alas, I have had no luck in getting them accepted into the upstream repository, which has forced me to maintain a second version myself.  | 
|  | 
 |  | 
 | 
|  | [[Image:llink.screen2.jpg|right|thumb|100px|llink-2.2.0 aqua skin]]
 |  | Patches include: | 
|  | [[Image:llink.screen3.jpg|right|thumb|100px|llink-1.9.9 jukebox skin]]
 |  | 
|  | [[Image:llink.screen4.jpg|right|thumb|100px|llink-2.2.0 clterm skin]]
 |  | 
|  | [[Image:llink.screen5.jpg|right|thumb|100px|llink-2.2.0 nmt skin]]
 |  | 
|  | [[Image:Kamaishi_skies.jpg|right|thumb|100px|llink-2.2.0 kamaishi_skies skin]]
 |  | 
|  | 
 |  | 
 | 
|  | === llink overview ===
 |  |  * Bring UDF compatibility from base 1.92, to 2.50. This adds Bluray and BD5 ISO format. | 
|  |  |  * Properly handle UDF chains, instead of assuming they are contiguous, and without gap. | 
|  |  |  * Move filesizes from 32bit to 64bit. | 
|  |  |  * Add POSIX style '''opendir(3)''', '''readdir(3)''' API to add the ability to retrieve contents of ISO files & input-devices. | 
|  |  |  * Add POSIX style '''open(3)''' of non-DVD related files. (Reading playlists, certificates etc) | 
|  |  |  * Allow API call to set IO handlers. Allowing all IO to libdvdread be developer defined. (Adding RAR support, or FTP perhaps) | 
|  | 
 |  | 
 | 
|  | * [[Llink:compatible_players|List of compatible players]]
 |  | 
|  | ==== Features ====
 |  | 
|  | 
 |  | 
 | 
|  | * Parses various video containers: vob, avi, ts, mkv, tp, mov, m2ts, evo.
 |  | '''Download pre-patched source archive from:''' | 
|  | * Streams any file type the NMT player can handle: mp3, flac, jpeg, png etc.
 |  | 
|  | * Can play straight '''from rar files''': no more need to unrar your media. (Comes with special unrar-3.7.8-seek.) 
 |  | 
|  | * SSDP / UPnP discovery support (although minimal).
 |  | 
|  | * [[Llink:skins|Skin support]]: make your own html templates  or choose from pre-built. 
 |  | 
|  | * Simple iMDb querying to look up media information for Jukebox skins.
 |  | 
|  | * Both HD and SD skins available.
 |  | 
|  | * Light, tiny and clean code for Unix, OsX and Windows. Compiles to most platforms.
 |  | 
|  | * Paginating: support to send listings in pages, with tags for Next/Prev.
 |  | 
|  | * PlayAll cgi tag, and PlayAllFrom.
 |  | 
|  | * External subtitles: subtitle files can be consolidated in one directory. 
 |  | 
|  | * libdvdnav support (and libdvdcss): provides basic playback of DVD .iso and .img files and fromDVD drives.
 |  | 
|  | * UDF 2.50 BD5-ISO support:provides basic playback of Bluray and HD-DVD.
 |  | 
|  | * (External process support, like mencoder: incomplete).
 |  | 
|  | * Can initiate custom shell scripts.
 |  | 
|  | * Keep track of what you have already seen: small database for 'watched'media.
 |  | 
|  | 
 |  | 
 | 
|  | <paypal></paypal>
 |  |  http://lundman.net/ftp/dvdread/libdvdread-4.2.0.plus.tar.bz2 | 
|  | 
 |  | 
 | 
|  | 
 |  | 
 | 
|  | === Todo ===
 |  | 
|  | 
 |  | 
 | 
|  | In no particular order:
 |  | 
|  | * Add a transparent FTP fs layer? this would be well nice if it worked with RAR. ''Be quite easy to do now as a 'unrar' replacement, 'unftp'.''
 |  | 
|  | * Scraping/parsing of .NFO files (for media info).
 |  | 
|  | * mms:// protocol support (libmms looks ok, but has own select() call, needs deeper inspection).
 |  | 
|  | ** Implemented as unmms (unrar clone) but Stream support on PCH is lacking. Please bug Syabas about letting us set stream-mode
 |  | 
|  | * Scrape/look for subtitles (ex. http://www.subtitlesource.org/title/tt0325710/).
 |  | 
|  | * Proposed [[llink:menus|menus]]. Partly working since v2.2.0
 |  | 
|  | * Configuration via web page.
 |  | 
|  | * [http://www.teamavalaunch.com/ Avalaunch] style backgrounds. (Ex. fetch picture from [http://apod.nasa.gov/apod/archivepix.html NASA] every 30s and refresh) for mp3/playlists.
 |  | 
|  | * Playing mp3s, and photos from RAR files don't appear to work.
 |  | 
|  | * When playing music, allow to specify pictures to view.
 |  | 
|  | * <s>Explore what more power we get from libdvdnav: choose audio tracks etc.</s> ALso, subtitle streams since C200 can display!
 |  | 
|  | * Support [http://www.antp.be/software/moviecatalog ANT's Movie Database] .xml files.
 |  | 
|  | ** Difficult. ANT did weird things like put entire DB in one giant XML, with no references to the disk path.
 |  | 
|  | * Support [http://www.movienizer.com Movienizer's Movie Database] .xml files.  Please provide sample .xml files for inspection.
 |  | 
|  | * Remote skin support, e.g. invoke play from an iPhone or any other web enabled device.
 |  | 
|  | * Apparently directories/files with "&" may not get a tick in the visited db. URL decoding?
 |  | 
|  | * Make ticked directories become un-ticked when new files (unticked) files are added to the directory.
 |  | 
|  | 
 |  | 
 | 
|  | === Additional resources  ===
 |  | If you wish to patch the original release yourself, the patches are located here: | 
|  | 
 |  | 
 | 
|  | Feel free to contribute to the wiki documentation:
 |  | 
|  | 
 |  | 
 | 
|  | * [[Llink:user_guide|User guide]] for functions.
 |  | === Patch 1: ===  | 
|  | * [[Llink:Windows_installation|Installation guide]] for Windows.
 |  | 
|  | * [[llink:Linux_installation|Installation guide]] for Linux.
 |  | 
|  | * [[llink:macros|Macros]] supported by the HTML engine in llink.
 |  | 
|  | * [[llink:Samples|Sample Files]] for configuring llink Jukebox xml.
 |  | 
|  | * [[llink:Compiling|Compiling]] Guide for compiling, cross-compiling and compiling on Windows.
 |  | 
|  | 
 |  | 
 | 
|  | === Download binaries ===
 |  | Handle AD chains correctly, skip gaps, and give full end blocks  | 
|  | 
 |  | 
 | 
|  | Note:if you are in luck, devices not listed here may share platform and architecture.
 |  |  http://lundman.net/ftp/dvdread/patches/README.patch1 | 
|  | Please report your success/failure.
 |  |  http://lundman.net/ftp/dvdread/patches/patch1 | 
|  | 
 |  | 
 | 
|  | * [[llink:windows|Windows]] 2.2.2 binaries for Windows OS
 |  | 
|  | * [[llink:osx|OsX]] 2.2.3 binaries for Apple Macintosh Os X (Universal).
 |  | 
|  | * [[llink:nmt|NMT]] 2.2.2 binaries for the Network Media Tank (Popcornhour A-100, C200 etc.) 
 |  | 
|  | * [[llink:linux|Linux]] 2.2.2 binaries for Linux OS, Intel (add more if you can)
 |  | 
|  | * [[llink:opensolaris|OpenSolaris]] 2.2.2 binaries for OpenSolaris (svn121) OS, Intel
 |  | 
|  | * [[llink:readynas|ReadyNAS]] 2.2.2 binaries and instructions for Infrant/Netgear ReadyNAS
 |  | 
|  | * [[llink:synology|Synology]] 2.2.2 binaries and instructions for Synology NAS (ppc and arm)
 |  | 
|  | * [[llink:asus_wl-500gl|Asus WL-500GL]] binaries for Asus router running OpenWrt
 |  | 
|  | * [[llink:Asus WL-500g Premium|Asus WL-500g Premium]] binaries for Asus router running Oleg's firmware
 |  | 
|  | * [[llink:landisk|landisk]] binaries for IO-Data landisk uhdl-av, cpu-SH4
 |  | 
|  | * "[[llink on a stick]]" let's you run llink from a USB stick or external USB drive (unmaintained)
 |  | 
|  | * [[Llink:dlink_dns323|D-Link DNS-323]] binaries and instructions for D-Link NAS
 |  | 
|  | * [http://forum.excito.net/viewtopic.php?p=6195 Bubba server] 2.2.0 Linux compile instructions (no binaries)
 |  | 
|  | * [http://www.azboxworld.com/index.php?page=Thread&postID=66741#post66741 AzBox HD] 2.2.0 plugin binaries
 |  | 
|  | * [[llink:buffalo|Buffalo]] 2.2.3 binaries and instructions for Buffalo Linkstation (arm)
 |  | 
|  | * [[llink:Thecus|Thecus]] N5200-N0503 2.2.2 binaries (intel Atom)
 |  | 
|  | * [[llink:qnap|QNAP]] 2.2.4 binaries for QNAP TS-109/209 series (arm)
 |  | 
|  | 
 |  | 
 | 
|  | ''(Compilers, you can upload new versions directly in the wiki, see Synology page as example)''
 |  | === Patch 2: === | 
|  | 
 |  | 
 | 
|  | === Sources ===
 |  | File sizes from 32 bit to 64 bit, [http://www.supremeessays.com/ buy best essay]. Handle new FileInfoExt.  | 
|  | 
 |  | 
 | 
|  | * [[llink:sources|Sources]] Build your own for your platform. Includes autoconf for Unix and project files for Windows Visual Studio.
 |  |  http://lundman.net/ftp/dvdread/patches/README.patch2 | 
|  | * libdvdcss sources are: [http://download.videolan.org/pub/libdvdcss/1.2.10/ libdvdcss-1.2.10.tar.gz]
 |  |  http://lundman.net/ftp/dvdread/patches/patch2 | 
|  | * [[llink:mime|mime.types]] defining MIME types, generally not needed, only if you use it with a browser.
 |  | 
|  | * <s>libdvdnav sources are: [http://www.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-4.1.2]</s> ''libdvdnav sources now included.''
 |  | 
|  | * <s>libdvdread with MSVC++ Project files: [http://www.lundman.net/ftp/llink/libdvdread-0.9.7-win32.tar.gz</s>
 |  | 
|  | * <s>libdvdread sources for llink v2.0.8 to 2.1.1 only are: [http://www.dtek.chalmers.se/groups/dvd/downloads.shtml libdvdread-0.9.7.tar.bz]</s>
 |  | 
|  | 
 |  | 
 | 
|  | === Known issues ===
 |  | 
|  | 
 |  | 
 | 
|  | Although llink is capable of many things, there are limitations that should be known to users.
 |  | === Patch 3: === | 
|  | Please read here for details:[[Llink:Known_issues]]
 |  | 
|  | 
 |  | 
 | 
|  | === Changelog ===
 |  | Add Directory Content access, reading DVD AACS/ Directory. | 
|  | 
 |  | 
 | 
|  | The [[llink:changelog|llink changelog]] contains the basic release notes history.
 |  |  http://lundman.net/ftp/dvdread/patches/README.patch3 | 
|  |  |  http://lundman.net/ftp/dvdread/patches/patch3 | 
|  |  |   | 
|  |  |   | 
|  |  | === Patch 4: === | 
|  |  |   | 
|  |  | Expose dvd_input handlers as API call.  | 
|  |  |   | 
|  |  |  http://lundman.net/ftp/dvdread/patches/README.patch4 | 
|  |  |  http://lundman.net/ftp/dvdread/patches/patch4 | 
libdvdread.plus
I have made some patches to the regular libdvdread library used by many developers. Alas, I have had no luck in getting them accepted into the upstream repository, which has forced me to maintain a second version myself. 
Patches include:
* Bring UDF compatibility from base 1.92, to 2.50. This adds Bluray and BD5 ISO format.
* Properly handle UDF chains, instead of assuming they are contiguous, and without gap.
* Move filesizes from 32bit to 64bit.
* Add POSIX style opendir(3), readdir(3) API to add the ability to retrieve contents of ISO files & input-devices.
* Add POSIX style open(3) of non-DVD related files. (Reading playlists, certificates etc)
* Allow API call to set IO handlers. Allowing all IO to libdvdread be developer defined. (Adding RAR support, or FTP perhaps)
Download pre-patched source archive from:
http://lundman.net/ftp/dvdread/libdvdread-4.2.0.plus.tar.bz2
If you wish to patch the original release yourself, the patches are located here:
Patch 1:
Handle AD chains correctly, skip gaps, and give full end blocks 
http://lundman.net/ftp/dvdread/patches/README.patch1
http://lundman.net/ftp/dvdread/patches/patch1
Patch 2:
File sizes from 32 bit to 64 bit, buy best essay. Handle new FileInfoExt. 
http://lundman.net/ftp/dvdread/patches/README.patch2
http://lundman.net/ftp/dvdread/patches/patch2
Patch 3:
Add Directory Content access, reading DVD AACS/ Directory.
http://lundman.net/ftp/dvdread/patches/README.patch3
http://lundman.net/ftp/dvdread/patches/patch3
Patch 4:
Expose dvd_input handlers as API call. 
http://lundman.net/ftp/dvdread/patches/README.patch4
http://lundman.net/ftp/dvdread/patches/patch4