llink is a media streamer that lets 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. llink is also a UPNP MediaServer, sometimes called DNLA/UPNP, and is able to talk to many UPNP devices.
- Parses various video containers: vob, avi, ts, mkv, tp, mov, m2ts, evo.
- 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.)
- 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 from DVD 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.
- UPNP MediaServer
- Transcoding Streaming support added to 2.3.2
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 menus. Partly working since v2.2.0
- Configuration via web page.
- Avalaunch style backgrounds. (Ex. fetch picture from 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.
Explore what more power we get from libdvdnav: choose audio tracks etc.ALso, subtitle streams since C200 can display!
- Support 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 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.
- Add NMJ sqlite DB support. Test MediaInfo source  is working.
- BUG: upnp missing filters/sortcriteria.
User guide and other documentation
Feel free to contribute to the wiki documentation:
- User guide for functions.
- Installation guide for Windows.
- Installation guide for Linux.
- Macros supported by the HTML engine in llink.
- Sample Files for configuring llink Jukebox xml.
- Compiling Guide for compiling, cross-compiling and compiling on Windows.
Note: if you are in luck, devices not listed here may share platform and architecture. Please report your success/failure.
- Windows 2.3.2 binaries for Windows OS
- OsX 2.3.1 binaries for Apple Macintosh Os X. App Store submitted.
- NMT 2.3.0 binaries for the Network Media Tank (Popcornhour A-100, C200 etc.) Please use CSI to install
- Linux 2.3.0 binaries for Linux OS, Intel (add more if you can)
- OpenSolaris 2.2.5 binaries for OpenSolaris (Solaris 11) OS, Intel
- ReadyNAS 2.2.2 binaries and instructions for Infrant/Netgear ReadyNAS
- Synology 2.2.4 binaries and older, instructions for Synology NAS (ppc and arm)
- Asus WL-500GL binaries for Asus router running OpenWrt
- Asus WL-500g Premium binaries for Asus router running Oleg's firmware
- 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)
- D-Link DNS-323 binaries and instructions for D-Link NAS
- Bubba server 2.2.0 Linux compile instructions (no binaries)
- AzBox HD 2.2.0 plugin binaries
- Buffalo 2.2.3 binaries and instructions for Buffalo Linkstation (arm)
- Thecus N5200-N0503 2.2.2 binaries (intel Atom)
- 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)
- Sources Build your own for your platform. Includes autoconf for Unix and project files for Windows Visual Studio.
- libdvdcss sources are: libdvdcss-1.2.10.tar.gz
- mime.types defining MIME types, generally not needed, only if you use it with a browser.
libdvdnav sources are: libdvdnav-4.1.2libdvdnav sources now included.
libdvdread with MSVC++ Project files: [http://www.lundman.net/ftp/llink/libdvdread-0.9.7-win32.tar.gz
libdvdread sources for llink v2.0.8 to 2.1.1 only are: libdvdread-0.9.7.tar.bz
Although llink is capable of many things, there are limitations that should be known to users. Please read here for details: Llink:Known_issues
The llink changelog contains the basic release notes history.
- Transcoding is a large subject, full of endless tweaks and hacks. I am hoping there are users willing to help find the correct settings that will work for most.