NMT:cross: Difference between revisions

From Lundman Wiki
No edit summary
No edit summary
 
Line 1: Line 1:
[[Image:synology_logo.gif|Synoogy Inc. logo]] <br>
'''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.  
<p>The Synology NAS can host the [[llink]] media streaming server. If you don't compile it yourself, please note below which binary you should use for your model. The binary packages are not made to be integrated with the admin web interface.</p>




[[Image:llink.screen2.jpg|right|thumb|100px|llink-2.2.0 aqua skin]]
[[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]]


=== Binaries ===


'''Latest binaries'''<br>
This contains a [[Llink:synology_autostart|startup script]], a Synology installation guide ([[Llink:synology_readme|README-Synology.txt]]) and a prepared llink.conf that points to the Synology default /volume1/video share. Place this binary in the /volume1 directory, untar and open the <code>README-synology.txt</code> file with a text editor for further assistance. Note: the startup script and the installation guide was written for the synology_x06_ppc in mind.


[http://forum.synology.com/wiki/index.php/Is_my_NAS_an_ARM_or_a_PowerPC_CPU_model] Is_my_NAS_an_ARM_or_a_PowerPC_CPU_model
=== llink overview ===


The following models uses ''x06_ppc'' version per default: (PowerPC ppc_6xx Freescale MPC8245 603e core MPC8241 603e core)
DS-101g+, DS-106j, DS-106e, DS-106, DS-106x , CS-406, RS-406 and CS-406e


The following x07-models share the same cpu family as x06 and should also use the ''x06_ppc''-version of llink:
* [[Llink:compatible_players|List of compatible players]]
DS-107e, DS-107, DS-207, DS-207.128 and CS-407e
==== Features ====


Optware feed: http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/
* 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.)
* [[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 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


<paypal></paypal>


The following models should use the ''x07_arm'': (ARM armv5tejl Marvell Orion 88F5281)
DS-107+, DS-107+.128, DS-207+, CS-407 and RS-407


Optware feed: http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/
=== 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.
* Add NMJ sqlite DB support. Test MediaInfo source [http://www.lundman.net/ftp/test-mediainfo.c] is working.
* BUG: upnp missing filters/sortcriteria.


The following models should use the ''e500_ppc'': (PowerPC ppc_85xx Freescale MPC8543 e500v2 core)
=== User guide and other documentation ===
  DS-508 RS-408 DS-408 DS-209+


Feel free to contribute to the wiki documentation:


The following models should use the '''x10_arm''':  
* [[Llink:user_guide|User guide]] for functions.
DS210j DS410j DS110j
* [[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.


The following models should use the '''D510_x86''':
=== Download binaries ===
1010+


Note: if you are in luck, devices not listed here may share platform and architecture.
Please report your success/failure.


* [[llink:windows|Windows]] 2.3.2 binaries for Windows OS
* [[llink:osx|OsX]] 2.3.1 binaries for Apple Macintosh Os X. App Store submitted.
* [[llink:nmt|NMT]] 2.3.0 binaries for the Network Media Tank (Popcornhour A-100, C200 etc.) '''Please use CSI to install'''
* [[llink:linux|Linux]] 2.3.0 binaries for Linux OS, Intel (add more if you can)
* [[llink:opensolaris|OpenSolaris]] 2.2.5 binaries for OpenSolaris (Solaris 11) OS, Intel
* [[llink:readynas|ReadyNAS]] 2.2.2 binaries and instructions for Infrant/Netgear ReadyNAS
* [[llink:synology|Synology]] 2.3.2 binaries and older, instructions for Synology NAS (ppc, arm and x86)
* [[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)


'''Download binary'''
''(Compilers, you can upload new versions directly in the wiki, see Synology page as example)''
[http://lundman.net/ftp/llink/llink-2.3.2-synology_D510_x86.tar.gz llink-2.3.2-synology_D510_x86.tar.gz] (clinkc) 2011-12-27
[[Media:Llink-2.2.4-synology_x06_ppc.tar.gz|llink-2.2.4-synology_x06_ppc.tar.gz]] build 1756 (Thu Jul 29 11:50:38 2010) (libdvdnav), added 2010-12-06
[http://www.lundman.net/ftp/llink/llink-2.2.0-synology_x07_arm.tar.gz llink-2.2.0-synology_x07_arm.tar.gz] build 1305 (libdvdnav)
[http://www.lundman.net/ftp/llink/llink-2.2.2-synology_e500_ppc.tar.gz llink-2.2.2-synology_e500_ppc.tar.gz] build 1609 (libdvdnav) for x09 models
[http://www.lundman.net/ftp/llink/llink-2.2.3-synology_x10_arm.tar.gz llink-2.2.3-synology_x10_arm.tar.gz] build 1609 (libdvdnav) for x10 models
[http://www.lundman.net/ftp/llink/llink-2.2.4-synology_x10_arm.tar.gz llink-2.2.4-synology_x10_arm.tar.gz] build 1609 (libdvdnav) for x10 models


=== Sources ===


'''Older binaries'''
* [[llink:sources|Sources]] Build your own for your platform. Includes autoconf for Unix and project files for Windows Visual Studio.
[[Media:Llink-2.2.0-synology_x06_ppc.tar.gz|llink-2.2.0-synology_x06_ppc.tar.gz]] build 1305 (Mon Oct 27 12:30:29 2008) (libdvdnav), added 2008-11-02
* libdvdcss sources are: [http://download.videolan.org/pub/libdvdcss/1.2.10/ libdvdcss-1.2.10.tar.gz]
[http://www.lundman.net/ftp/llink/llink-2.2.0-synology_e500_ppc.tar.gz llink-2.2.0-synology_e500_ppc.tar.gz] build 1305 (libdvdnav)
* [[llink:mime|mime.types]] defining MIME types, generally not needed, only if you use it with a browser.
[[Media:Llink-2.1.1-synology_x07_arm.tar.gz|llink-2.1.1-synology_x07_arm.tar.gz]] build 1000 (Tue Aug 12 11:09:44 2008) (libdvdread), added 2008-08-08
* <s>libdvdnav sources are: [http://www.mplayerhq.hu/MPlayer/releases/dvdnav/ libdvdnav-4.1.2]</s> ''libdvdnav sources now included.''
[[Media:Llink-2.1.2-synology_x06_ppc.tar.gz|llink-2.1.2-synology_x06_ppc.tar.gz]] build 1103 (Fri Aug 29 20:51:03 2008) (libdvdnav), added 2008-09-01
* <s>libdvdread with MSVC++ Project files: [http://www.lundman.net/ftp/llink/libdvdread-0.9.7-win32.tar.gz</s>
[[Media:Llink-2.1.1-synology_x06_ppc.tar.gz|llink-2.1.1-synology_x06_ppc.tar.gz]] build 1000 (Tue Aug 12 11:09:44 2008) (libdvdread), added 2008-08-08
* <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>
[[Media:Llink-2.1.0-synology_x06_ppc.tar.gz|llink-2.1.0-synology_x06_ppc.tar.gz]] build 961 (Fri Aug  8 11:09:44 2008) (libdvdread), added 2008-08-08
[[Media:Llink-2.1.0-synology_x07_arm.tar.gz|llink-2.1.0-synology_x07_arm.tar.gz]] build 961 (Fri Aug  8 11:09:44 2008) (libdvdread), added 2008-08-08
[http://www.lundman.net/ftp/llink/llink-2.0.6-synology_x07_arm.tar.gz llink-2.0.6-synology_x07_arm.tar.gz] build 750 (Fri May 21 16:17:40 2008), added 2008-05-21
[http://www.lundman.net/wiki/images/1/1f/Llink-2.0.8-synology_x06_ppc.tar.gz llink-2.0.8-synology_x06_ppc.tar.gz‎]] build 904 (Fri Jun 20 12:40:12 2008) (libdvdread), added 2008-06-20
[[Media:Llink-2.0.7-synology_x06_ppc.tar.gz|llink-2.0.7-synology_x06_ppc.tar.gz]] build 830 (Mon Jun  2 11:09:44 2008) (libdvdread), added 2008-06-06
[[Media:Llink-2.0.6-syno_x06.tar.gz|llink-2.0.6-syno_x06.tar.gz]] build 750 (Fri May 16 16:17:45 2008), added 2008-05-17
[[Media:Llink-2.0.4-syno_x06.tar.gz|llink-2.0.4-syno_x06.tar.gz]] build 709 (Mon Apr 21 10:06:04 2008), added 2008-04-24 
[[Media:Llink-2.0.3-syno_x06.tar.gz|llink-2.0.3-syno_x06.tar.gz]] build 709 added 2008-04-21
[[Media:Llink-2.0.2-syno_x06.tar.gz|llink-2.0.2-syno_x06.tar.gz]]
[http://www.lundman.net/ftp/llink/llink-1.9.2-synology.tar.gz llink-1.9.2-synology.tar.gz]


=== Known issues ===


Once you've installed the binary you have to update the llink.conf file so it points to your media files, uses the right port etc.
Although llink is capable of many things, there are limitations that should be known to users.
Please read here for details: [[Llink:Known_issues]]


=== Installation pre-requisites ===
=== Changelog ===
Telnet/SSH-patch installed on the NAS.


If you want to autostart llink from boot, you can use this [[Llink:synology_autostart|script]].<br>
The [[llink:changelog|llink changelog]] contains the basic release notes history.
Otherwise you must enter via telnet and start manually after shutdown or restart.


If you have ''Optware'' enabled you can use the appropriate feed to automagically download and install llink, from version 2.0.9. See feed links above.


=== Toolchains ===
=== Transcoding ===
==== x06 ====
For the synology_x06 compiles, the toolchain for the DS1010g has been used successfully, found  at [http://www.nslu2-linux.org/wiki/DS101/HomePage NSLU2-linux.org].


==== x07 ====
* [[llink:transcoding|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.
If you use a Synology NAS from the x07-series there is a toolchain available for compiling source at [http://www.synology.com/wiki/index.php/Mods_for_Marvell_mv5281_ARM-based_Synology_Products#Toolchain Synology.com]
 
Unfortunately, this toolchain is missing the Linux headers required. asm->asm-arm, linux and asm-generic. One way to solve this is go download Linux-2.6.15 linux kernel. (There is one on NMT forum, probably one in my ftp somewhere - anyway, it is GPL and available everywhere).
 
Issue the following commands:
 
# sudo bash
# cd /usr/local/arm-marvell-linux-gnu/arm-marvell-linux-gnu/include/
# rsync -arv $YOUR_PATH/linux-2.6.15/include/asm-arm/ asm/
# rsync -arv $YOUR_PATH/linux-2.6.15/include/asm-generic/ asm-generic/
# rsync -arv $YOUR_PATH/linux-2.6.15/include/linux/ linux/
 
==== e500 ====
 
[http://sourceforge.net/project/downloading.php?group_id=238526&filename=gcc343_glibc234_854x.tar.gz&a=89364623 e500 gcc for toolchain]]
 
==== x10 ====
 
DS410j etc. Toolchain here: [http://downloads.sourceforge.net/project/dsgpl/Tool%20Chain/Marvell%2088F6281%20Linux%202.6.24/gcc421_glibc25_88f6281.tar.gz?use_mirror=jaist]
 
=== Additional resources and references ===
NSLU2-Linux.org [http://www.nslu2-linux.org/wiki/Optware/Packages?from=Unslung.Packages]<br>
flipflip's Diskstation site [http://oinkzwurgl.org/diskstation]<br>
Synology's official forum [http://www.synology.com/enu/forum/]

Latest revision as of 23:32, 31 December 2011

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.


llink-2.2.0 aqua skin
llink-1.9.9 jukebox skin
llink-2.2.0 clterm skin
llink-2.2.0 nmt skin
llink-2.2.0 kamaishi_skies skin


llink overview

Features

  • 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

<paypal></paypal>


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 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 [1] is working.
  • BUG: upnp missing filters/sortcriteria.

User guide and other documentation

Feel free to contribute to the wiki documentation:

Download binaries

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.3.2 binaries and older, instructions for Synology NAS (ppc, arm and x86)
  • 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

Known issues

Although llink is capable of many things, there are limitations that should be known to users. Please read here for details: Llink:Known_issues

Changelog

The llink changelog contains the basic release notes history.


Transcoding

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