/* */

Chris  -  DLNA / UPNP unter Linux

 
Riki und Rudi Chris Michi Doris 

Leider funktionieren nicht alle Progamme miteinander ...

 

DLNA Server - Mediaserver


rygel am PC

-> Fehler 202211 als user gehts nicht, als root schon: man braucht das dbus-wrapper script wegen dbus

-> Fehler 202211 es wird immer das title tag angezeigt statt dem dateinamen. auch wenn im title nur crap steht, extract-metadata=false hilft nicht. -> bug in version 0.40.3, Update auf 0.40.4

-> Fehler: wird nicht gefunden: falsches interface angegeben (besser leer lassen)

 

-> als system service ohne login starten? - Verzeichnisse in der rygel.conf eintragen

-> icon ändern = Bilder austauschen

-> Dateien werden automatisch ohne cronjob indiziert

 

 

upnp testen: sollte den pc finden

-> upnp-inspector

-> grilo-test-ui-0.2

 

gehts als root?

G_MESSAGES_DEBUG=all rygel -g 5

DLNA Renderer - Player

totem + grilo-plugin (ist seit 3.12 in totem fix eingebaut) + grilo-dLeyna

 

leider funktioniert VLC + rygel nicht gescheit

 

upnplay am handy

 

openelec am raspi

angeblich funktioniert kodi

DLNA Controller

UPNPlay am Handy, Philips myRemote 

totem und gnome-dvb-daemon

this is what I found out:

- the dvb plugin is not ported to python3

- it was removed from the git repo, see: github.com/GNOME/gnome-dvb-daemon/tree/master/client, so it won't be ported anymore, probably.

- you should use the dvb grilo plugin and the totem grilo plugin, see:  https://github.com/GNOME/gnome-dvb-daemon/tree/master/client/grilo-plugin

- the stated totem grilo plugin is now integrated in totem.

- it crashes my totem ...

udpxy noch eines ^^

noch nicht probiert, vielleicht hilfts aber:

www.udpxy.com/index-en.html

console dlna client

nano-dlna https://github.com/gabrielmagno/nano-dlna

 

Selber mit der bash:

 

#!/bin/bash

# developer.sony.com/develop/audio-control-api/get-started/browse-dlna-file
# upnp.org/resources/documents/UPnP_AV_tutorial_July2014.pdf

CONTROL_URL="http://192.168.178.125:49152/ctl/AVTransport"

#gssdp-discover -i br0 --timeout=3 --target=urn:schemas-upnp-org:device:MediaRenderer:1

MP3="http://192.168.178.21:8200/MediaItems/2114.mp3"

# ======================================================================

POST_DATA_GetTransportInfo="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body>
<u:GetTransportInfo xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">
<InstanceID>0</InstanceID>
</u:GetTransportInfo>
</s:Body>
</s:Envelope>"

HEADER_GetTransportInfo=( -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#GetTransportInfo"')

POST_DATA_GetMediaInfo_Ext="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body>
<u:GetMediaInfo_Ext xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">
<InstanceID>0</InstanceID>
</u:GetMediaInfo_Ext>
</s:Body>
</s:Envelope>"
HEADER_GetMediaInfo_Ext=( -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#GetMediaInfo_Ext"')

POST_DATA_GetMediaInfo="<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body>
<u:GetMediaInfo xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">
<InstanceID>0</InstanceID>
</u:GetMediaInfo>
</s:Body>
</s:Envelope>"

HEADER_GetMediaInfo=( -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#GetMediaInfo"')
POST_DATA="$POST_DATA_GetMediaInfo"
HEADER=("${HEADER_GetMediaInfo[@]}")

out=$(curl -f -v "${HEADER[@]}" -d "$POST_DATA" "$CONTROL_URL")
echo "$out" | xpath '//s:Body/u:GetMediaInfoResponse/CurrentURI/text()'

exit 1
# ======================================================================

DIDL='<?xml version="1.0"?>
<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sec="http://www.sec.co.kr/">
<item id="f-0" parentID="0" restricted="0">
   <dc:title>Video</dc:title>
   <dc:creator>Anonymous</dc:creator>
   <upnp:class>object.item.audioItem</upnp:class>
   <res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000">'$MP3'</res>
</item>
</DIDL-Lite>'


POST_DATA_queue="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body><u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">
<InstanceID>0</InstanceID>
<CurrentURI><![CDATA[$MP3]]></CurrentURI>
<CurrentURIMetaData>$(echo "$DIDL" | recode ascii..html)</CurrentURIMetaData>
</u:SetAVTransportURI>
</s:Body>
</s:Envelope>"
HEADER_queue=( -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"' )

# ======================================================================

POST_DATA_play="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body><u:Play xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">
<InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body>
</s:Envelope>"
HEADER_play=( -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"')

POST_DATA="$POST_DATA_queue"
HEADER=("${HEADER_queue[@]}")

# ======================================================================


echo "=============================================="
echo "$POST_DATA"
echo "=============================================="
curl -v "${HEADER[@]}" -d "$POST_DATA" \
       "$CONTROL_URL"



POST_DATA="$POST_DATA_play"
HEADER=("${HEADER_play[@]}")


echo "=============================================="
echo "$POST_DATA"
echo "=============================================="
curl -v "${HEADER[@]}" -d "$POST_DATA" \
       "$CONTROL_URL"