UPNP-Downloader für Synology®-NAS

Zweck / Kurzbeschreibung

Einige Festplattenrecoder können zwar Videos auf ihre Festplatte aufzeichnen, können diese aber nicht in einem Netzwerk bereitstellen. Tatsächlich ist ein Download über http- oder ftp nicht möglich und auch ein SMB-Server ist nicht vorhanden. Stattdessen können diese Geräte jedoch die gespeicherten Videos per UPNP® / DLNA® ins Netzwerk streamen.

Ziel ist es daher vom NAS aus alle angebotenen Mediendateien auf das NAS zu laden, von wo aus sie dann im Netz zur Verfügung stehen. Dadurch können die Daten narmal in ein Backup eingebunden werden, und auch die Festplattengröße des Festplattenrecorders spielt keine Rolle mehr.

Aktuell ist dieses Ziel noch nicht vollständig erreicht. Die Software ist in der Lage die zu Ladenden Dateien unter Beachtung von einigen Filters zu identifizieren, und dann auch herunterzuladen. Dies ist aber noch kein ständiger Serverprozess, der die angebotenen Medienquellen automatisch überwacht, sondern man muss ihn "von Hand" auf der Kommandozeile des NAS starten.

Die Konfiguration erfolgt über Steuerdateien oder beim Programmstart auf der Kommandozeile. Eine Synology-Weboberfläche gibt es (noch) nicht.

Systemvoraussetzungen

Anwendung

  1. Einloggen auf dem Synology-NAS über ssh
  2. Einloggen als root per "sudo su -"
  3. Anpassen der Konfigurationsdatei "http://www.huckfeldt.eu/var/packages/DLNADownloader/target/etc/DLNADownloader.conf &"
    <GLOBAL>
        <COMMENT>My own Clientname</COMMENT>
        <CLIENTNAME>Test application</CLIENTNAME>
    
        <COMMENT>My own IP-Adress, shall be used with multihomed hosts, if in doubt leave it empty</COMMENT>
        <CLIENTIP>Fill in the IP of the NAS</CLIENTIP>
    
        <COMMENT>My own Portnumber, usually 49152, if in doubt use 0 or omit the port</COMMENT>
        <CLIENTPORT>0</CLIENTPORT>
    
        <COMMENT>The path were the videos are stored</COMMENT>
        <VIDEOPATH>/volume1/video/</VIDEOPATH>
    
        <COMMENT>Target for all logging activity</COMMENT>
        <LOGPATH>/var/packages/DLNADownloader/target/var/log/</LOGPATH>
    
        <COMMENT>The central log file</COMMENT>
        <LOGFILE>DLNADownload.log</LOGFILE>
    
        <COMMENT>A bash compatible script file witch downloads all not currently loaded files to the current directory</COMMENT>
        <CURLFILE>CURLscript.sh</CURLFILE>
    
        <COMMENT>List all local video files</COMMENT>
        <LOCALFILE>Videotable-local</LOCALFILE>
    
        <COMMENT>List all remote video files</COMMENT>
        <REMOTEFILE>Videotable-remote</REMOTEFILE>
    
        <COMMENT>List all remote video files except locally available</COMMENT>
        <DOWNLOADFILE>Videotable-new-remote</DOWNLOADFILE>
    
        <COMMENT>Level of debug</COMMENT>
        <DEBUG>0</DEBUG>
    </GLOBAL>
    <DEVICE>
        <COMMENT>The name of the device which shall be backuped</COMMENT>
        <FRIENDLYNAME>DVD</FRIENDLYNAME>
        <IGNORE>0</IGNORE>
    </DEVICE>
    <DEVICE>
        <COMMENT>The name of the device which shall not be noticed</COMMENT>
        <FRIENDLYNAME>Any_other_device</FRIENDLYNAME>
        <IGNORE>1</IGNORE>
    </DEVICE>
    <NOLOAD>
        <COMMENT>The name of a file that shall not be downloaded</COMMENT>
        <MATCH>Some_media_File</MATCH>
        <MATCH>\[LiveView\].*</MATCH>
    </NOLOAD>
    <AUTOSTRUCT>
        <COMMENT>Files with this name (regex) shall be downloaded to the named directory</COMMENT>
        <MATCH>.*-Some_media_File</MATCH>
        <DIRECTORY>%%VIDEOPATH%%xxx/yyy/</DIRECTORY>
    </AUTOSTRUCT>
    <AUTOSTRUCT>
        <COMMENT>Files with this name (regex) shall be downloaded to the named directory</COMMENT>
        <MATCH>.*</MATCH>
        <DIRECTORY>%%VIDEOPATH%%Neu/</DIRECTORY>
    </AUTOSTRUCT>
    
  4. Starten des downloadprozesses mit "http://www.huckfeldt.eu/var/packages/DLNADownloader/target/usr/bin/DLNADownloader &"

Portabilität

Downloads

Source-Paket

DLNADownloader_Source.tgz

Binaries Package für alle Prozessoren

DLNADownloader-armadaxp-1.0.07.spk

Copyright

Copyright ©2017 Sönke Huckfeldt

Dieses Programm ist Freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation, Version 3 der Lizenz oder (nach Ihrer Wahl) jeder neueren veröffentlichten Version, weiterverbreiten und/oder modifizieren.

Dieses Programm wird in der Hoffnung, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.

Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.

Der von mir erstellte Teil der Software ist frei von Rechten dritter, Eine Urheberrechtsverzichtserklärung des Arbeitgebers liegt vor. Die verwendeten Bibliotheken sind frei, aber unterliegen ihren jeweiligen Lizenzbestimmungen. Beachten Sie die Angaben in dieser Datei für Details.

/*****************************************************************************
 * UPNP-Downloader                                                           *
 *                                                                           *
 *  Copyright ©2017 by Sönke Huckfeldt webmaster (at) huckfeldt.eu           *
 *                                                                           *
 *  Licensed under GNU General Public License 3.0 or later.                  *
 *  Some rights reserved. See this README and COPYING.                       *
 *                                                                           *
 * License http://www.gnu.org/licenses/                                      *
 *****************************************************************************/

Disclaimer

Die folgenden Abschnitte dieser Datei liegen nur auf Englisch vor:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.