Llink:synology: Difference between revisions

From Lundman Wiki
No edit summary
mNo edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:synology_logo.gif|Synoogy Inc. logo]] <br>
== libdvdread.plus ==
<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>




'''UPDATE'''


=== Binaries ===
Planned: create new libudfread library instead, just for reading UDF. Take the IFO part of dvdread into libifo. Retain compatibility with libdvdnav, and libdvdcss. Also work with libbluray.


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


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.


The following models uses ''x06_ppc'' version per default: (PowerPC ppc_6xx Freescale MPC8245 603e core MPC8241 603e core)
Patches include:
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:
* Bring UDF compatibility from base 1.92, to 2.50. This adds Bluray and BD5 ISO format.
  DS-107e, DS-107, DS-207, DS-207.128 and CS-407e
* 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)


Optware feed: http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/


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


The following models should use the ''x07_arm'': (ARM armv5tejl Marvell Orion 88F5281)
http://lundman.net/ftp/dvdread/libdvdread-4.2.0.plus.tar.gz
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/




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


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


'''Download binary'''
[[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
[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.0-synology_e500_ppc.tar.gz llink-2.2.0-synology_e500_ppc.tar.gz] build 1305 (libdvdnav)


=== Patch 1: ===


'''Older binaries'''
Handle AD chains correctly, skip gaps, and give full end blocks
[[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
[[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
[[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
[[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]


http://lundman.net/ftp/dvdread/patches/README.patch1
http://lundman.net/ftp/dvdread/patches/patch1


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.


=== Installation pre-requisites ===
=== Patch 2: ===
Telnet/SSH-patch installed on the NAS.


If you want to autostart llink from boot, you can use this [[Llink:synology_autostart|script]].<br>
File sizes from 32 bit to 64 bit. Handle new FileInfoExt.  
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.
http://lundman.net/ftp/dvdread/patches/README.patch2
http://lundman.net/ftp/dvdread/patches/patch2


=== Toolchains ===
==== 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 ====
=== Patch 3: ===
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).
Add Directory Content access, reading DVD AACS/ Directory.


Issue the following commands:
http://lundman.net/ftp/dvdread/patches/README.patch3
http://lundman.net/ftp/dvdread/patches/patch3


# 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/


=== Patch 4: ===


==== e500 ====
Expose dvd_input handlers as API call.


[http://sourceforge.net/project/downloading.php?group_id=238526&filename=gcc343_glibc234_854x.tar.gz&a=89364623]
http://lundman.net/ftp/dvdread/patches/README.patch4
 
http://lundman.net/ftp/dvdread/patches/patch4
 
 
=== 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 13:12, 21 July 2012

libdvdread.plus

UPDATE

Planned: create new libudfread library instead, just for reading UDF. Take the IFO part of dvdread into libifo. Retain compatibility with libdvdnav, and libdvdcss. Also work with libbluray.


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



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