qnap-dlna-adapter-for-foobar2k-mobile
v2.0.0
Published
Adapter for QNAP NAS DLNA service to work with foobar2000 Mobile via Internet
Readme
QNAP DLNA adapter for foobar2000 Mobile
Requirements
Node.js v8 (install from QNAP App Center)
Export npm bin folder to
$PATH:export PATH=/share/CACHEDEV1_DATA/.qpkg/nodejsv8/node/bin:$PATH
Install
Connect to NAS via SSH as admin and run:
npm install -g qnap-dlna-adapter-for-foobar2k-mobileUsage
Connect to NAS via SSH.
Create config file. Example:
{
"deviceDescriptionPath": "/DeviceDescription.xml",
"dlnaHostname": "http://127.0.0.1",
"dlnaPort": 8200,
"externalHostname": "http://example.com",
"listenHostname": "0.0.0.0",
"port": 8888
}Start:
dlna-adapter-for-foobar2k-mobile-start [PATH_TO_CONFIG_FILE]If PATH_TO_CONFIG_FILE is not specified then default path ~/dlna-adapter.config.json will be used.
Stop:
dlna-adapter-for-foobar2k-mobile-stopHow it works
foobar2000 Mobile allows to add a custom media server. However most likely foobar will not find it. Thats's because it tries to fetch device description on hard-coded URLs which cannot be amended in foobar application.
The adapter redirects / and /DeviceDescription.xml requests to {deviceDescriptionPath} which is understandable by QNAP DLNA server.
All other requests are being redirected to QNAP DLNA server without modification.
Additionaly it replaces all occurrences of {dlnaHostname}:{dlnaPort} with {externalHostname}:{port} in XML output of all http requests.
So the player will try to fetch audio file from your external URL.
Configuration
For QNAP DLNA server (native):
"deviceDescriptionPath": "/rootDesc.xml"
"dlnaHostname": "http://192.168.0.10"
"dlnaPort": 8200For Asset UPnP:
"deviceDescriptionPath": "/DeviceDescription.xml"
"dlnaHostname": "http://127.0.0.1"
"dlnaPort": 26125