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.
- 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.)
- SSDP / UPnP discovery support (although minimal).
- 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.
In no particular order:
- Add a transparent FTP fs layer? this would be well nice if it worked with RAR.
- 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.
- 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.
- Already watched DB.
Stage 1: in memory, Stage 2: bdb on disk.Fix "visited" logic for directories/rar. Add option for IP check (so 2+ devices are tracked separately).
- 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).Needs fixing to show "friendly name"
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.
Support Unix builds to handle "~/". It is expanded by getpwuid(getuid())->pw_home on ROOT paths.
UPnP needs to find source-IP when replying. Investigate IP_RECVDSTADDR/IP_PKTINFO/IP_RECVIF
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.2.2 binaries for Windows OS
- OsX 2.2.3 binaries for Apple Macintosh Os X (Universal).
- NMT 2.2.2 binaries for the Network Media Tank (Popcornhour A-100, C200 etc.)
- Linux 2.2.2 binaries for Linux OS, Intel (add more if you can)
- OpenSolaris 2.2.2 binaries for OpenSolaris (svn121) OS, Intel
- ReadyNAS 2.2.2 binaries and instructions for Infrant/Netgear ReadyNAS
- Synology 2.2.2 binaries and 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)
(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.