Llink: Difference between revisions

From Lundman Wiki
No edit summary
No edit summary
 
(57 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]]


'''Download pre-patched source archive from:'''


* Parses various video containers: vob, avi, ts, mkv, tp, mov, m2ts, evo.
http://lundman.net/ftp/dvdread/libdvdread-4.2.0.plus.tar.bz2
* 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.
* 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 from DVD drives.
* UDF 2.50 BD5-ISO support: provides basic playback of Bluray and HD-DVD.
* (External process support, like mencoder: incomplete).


<paypal></paypal>






=== Todo ===
If you wish to patch the original release yourself, the patches are located here:


In no particular order:
* <s>Add goto percentage bookmark which may be what WizD uses</s> Appears to only work for MPEG.
* Add a transparent FTP fs layer? this would be well nice if it worked with RAR.
* Convert other playlist (.m3u .pls) formats to Syabas playlist.
* Scraping/parsing of .NFO files (for media info).
* mms:// protocol support (libmms looks ok, but has own select() call, needs deeper inspection).
* Scrape/look for subtitles (ex. http://www.subtitlesource.org/title/tt0325710/).
* Proposed [[llink:menus|menus]].
* 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.
* Already watched DB. <s>Stage 1: in memory,</s> Stage 2: bdb on disk. How do we visually represent it?
* Playing mp3s, and photos from RAR files don't appear to work.
* When playing music, allow to specify pictures to view.
* Add ROOT that is just a A HREF link somewhere (to support integration of YAMJ and other jukeboxes).
* Explore what more power we get from libdvdnav.
* Support [http://www.antp.be/software/moviecatalog ANT's Movie Database] .xml files.
* Remote skin support, e.g. invoke play from an iPhone or any other web enabled device.
* Support Unix builds to handle "~/". It is expanded by getpwuid(getuid())->pw_home;


=== Patch 1: ===


=== Additional resources  ===
Handle AD chains correctly, skip gaps, and give full end blocks


Feel free to contribute to the wiki documentation:
http://lundman.net/ftp/dvdread/patches/README.patch1
http://lundman.net/ftp/dvdread/patches/patch1


* [[Llink:user_guide|User guide]] for functions.
* [[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.


=== Patch 2: ===


=== Download binaries ===
File sizes from 32 bit to 64 bit, [http://www.supremeessays.com/ buy best essay]. Handle new FileInfoExt.


Note: if you are in luck, a devices not listed here may share platform and architecture.
http://lundman.net/ftp/dvdread/patches/README.patch2
Please report your success/failure.
http://lundman.net/ftp/dvdread/patches/patch2


* [[llink:windows|Windows]] 2.2.0 Binaries for Windows OS.
* [[llink:osx|OsX]] 2.2.0 Binaries for Apple Macintosh Os X (Universal).
* [[llink:nmt|nmt]] 2.2.0 Binaries for the Network Media Tank. (Popcornhour A-100).
* [[llink:linux|Linux]] 2.2.0 Binaries for Linux OS, Intel (add more if you can).
* [[llink:readynas|ReadyNAS]] 2.2.0 Binaries and instructions for Infrant ReadyNAS.
* [[llink:synology|Synology]] 2.2.0 Binaries and instructions for Synology NAS.
* [[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.
* [[Llink:dlink_dns323|D-Link DNS-323]] Binaries and instructions for D-Link NAS.


''(Compilers, you can upload new versions directly in the wiki, see Synology page as example)''
=== Patch 3: ===


Add Directory Content access, reading DVD AACS/ Directory.


=== Sources ===
http://lundman.net/ftp/dvdread/patches/README.patch3
http://lundman.net/ftp/dvdread/patches/patch3


* [[llink:sources|Sources]] Build your own for your platform. Includes autoconf for Unix and project files for Windows Visual Studio.
* libdvdcss sources are: [http://download.videolan.org/pub/libdvdcss/1.2.10/ libdvdcss-1.2.10.tar.gz]
* [[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>


=== Patch 4: ===


=== Known issues ===
Expose dvd_input handlers as API call.


'''Special character combinations in directory and file names'''<br>
http://lundman.net/ftp/dvdread/patches/README.patch4
Valid from llink 2.0.3 the character combination "'''&d='''" or "'''&f='''" will pass on to unrar and cause problems when trying to play, but ampersands and equal signs can be used in file and directory names. In previous  versions you will not be able to play movies with the ampersand ('''&''') or the equals sign ('''=''') characters in the directory- or file name. Note: If no RAR support is needed, it's possible to make a workaround for it.
http://lundman.net/ftp/dvdread/patches/patch4
 
'''ISO limitations''' <br>
Playing ISO has currently three limitations, valid up to llink 2.1.1:<br>
 
''1. Does not play straight from RAR''<br>
This function is in the works but not yet supported. '''This feature now works in 2.1.2 and up'''
 
''2. Does not autoplay ISO''<br>
You must select the individual VOB inside the ISO to play the movie, it will not start automatically when pressing Play or Enter on the ISO file.
 
''3. Does not handle the DVD menu''<br>
It is not possible to change the default audio track or embedded subtitles or other features selected in the DVD menu. However it is possible to use external subs, using the redirect function (found in the llink.conf) by using the same name as the VOB-file, for instance <code>TS_VIDEO_01.VOB</code> gives <code>TS_VIDEO_01.srt</code>.
 
'''llink-NMT network connections'''<br>
Due to a limitation in the NMT device it will only open one of the connections at startup, not all. Browse to the share via the NMT GUI first, then open llink if you need to browse another share than the NMT default.
 
 
=== Changelog ===
 
The [[llink:changelog|llink changelog]] contains the basic release notes history.

Latest revision as of 01:19, 27 December 2011

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