DroidVDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
Zeile 3: Zeile 3:
 
droidVDR ist ein streaming-client für Android vom VDR-Portal User "Morlock"
 
droidVDR ist ein streaming-client für Android vom VDR-Portal User "Morlock"
  
Die Software kommuniziert per SVDRP mit dem VDR, das heißt, das iPhone bzw. der iPod touch muss per WLAN oder EDGE mit dem VDR kommunizieren können. SVDRP ins Internet zu öffnen, ist keine gute Idee, da Sicherheitsrisiko (jeder darf Aufnahmen löschen...), also sollte lieber WLAN genutzt werden.
+
Die Software kommuniziert per [[SVDRP]] mit dem VDR, das heißt, das iPhone bzw. der iPod touch muss per WLAN oder EDGE mit dem VDR kommunizieren können. SVDRP ins Internet zu öffnen, ist keine gute Idee, da Sicherheitsrisiko (jeder darf Aufnahmen löschen...), also sollte lieber WLAN genutzt werden.
  
== Screenshots ==
+
<!-- == Screenshots == -->
  
 
== Softwareanforderungen ==
 
== Softwareanforderungen ==
Zeile 11: Zeile 11:
 
#VDR mit Streamdev Plugin
 
#VDR mit Streamdev Plugin
 
#Webserver mit Perl
 
#Webserver mit Perl
#Perl-Packet "Net::Telnet"
+
#Perl-Paket "Net::Telnet"
  
 
== Download ==
 
== Download ==
 
Die zwei Dateien mvdr.rar.txt und droidVDR.rar.txt gibt es im Portal unter [http://www.vdr-portal.de/board/thread.php?postid=864601#post864601]
 
Die zwei Dateien mvdr.rar.txt und droidVDR.rar.txt gibt es im Portal unter [http://www.vdr-portal.de/board/thread.php?postid=864601#post864601]
 +
Den eigentlich SourceCode gibt es nur beim Entwickler.
  
 
== Installation ==
 
== Installation ==
Was braucht man, wie funktioniert's:
+
Was braucht man, wie funktioniert es:
  
 
# VDR mit streamdev-server und vlc (bei mir 1.0.3)
 
# VDR mit streamdev-server und vlc (bei mir 1.0.3)
## Von einem anderen Rechner aus Probieren ob Streamdev läuft.(vlc öffnen und z.b. http://ip-des-vdr:3000/PES/1)<br />Das muss laufen, dann weiter mit Punkt 2.
+
## Von einem anderen Rechner aus Probieren ob Streamdev läuft.(vlc öffnen und z.b. <nowiki>http://ip-des-vdr:3000/PES/1</nowiki>)<br />Das muss laufen, dann weiter mit Punkt 2.
# Webserver (Apache2 mit Perl Unterstüzung installieren)<br />Zusätzlich muss das Perl-Packet "Net::Telnet" installiert sein.
+
# Webserver (Apache2 mit Perl Unterstürzung installieren)<br />Zusätzlich muss das Perl-Paket "Net::Telnet" installiert sein.
 
# mvdr.rar.txt (Umbennen (mvdr.rar)+ Entpacken) und auf den WEB-Server (perl-script).
 
# mvdr.rar.txt (Umbennen (mvdr.rar)+ Entpacken) und auf den WEB-Server (perl-script).
 
# mvdr.conf bearbeiten. Die Variablen sollten eigentlich klar sein.
 
# mvdr.conf bearbeiten. Die Variablen sollten eigentlich klar sein.
Zeile 31: Zeile 32:
 
## Konsole wechseln und telnet Verbindung zum vlc herstellen<br /><code>telnet 127.0.0.1 4212"</code><br />Passwort ist dan "videolan", Befehl "shutdown" eingeben = vlc beenden.
 
## Konsole wechseln und telnet Verbindung zum vlc herstellen<br /><code>telnet 127.0.0.1 4212"</code><br />Passwort ist dan "videolan", Befehl "shutdown" eingeben = vlc beenden.
 
# Jetzt kann man mal mit dem Browser probieren z.B. <code>http://server.ip.:port/cgi-bin/mvdr.pl?bouquet</code>, eine Übersicht der Sektionen zu bekommen.<br />Erst wenn das funktioniert weiter machen.
 
# Jetzt kann man mal mit dem Browser probieren z.B. <code>http://server.ip.:port/cgi-bin/mvdr.pl?bouquet</code>, eine Übersicht der Sektionen zu bekommen.<br />Erst wenn das funktioniert weiter machen.
# droidVDR.rar.txt (Umbennen (droidVDR.rar)+ Entpacken) auf das Android Phone, und installieren.
+
# droidVDR.rar.txt (Umbenennen (droidVDR.rar)+ Entpacken) auf das Android Phone, und installieren.
 
# Programm starten, "Menü" -> "Settings"
 
# Programm starten, "Menü" -> "Settings"
 
## Netzwerksettings1 aktivieren.
 
## Netzwerksettings1 aktivieren.
## Netzwereinstellungen -> URL für Server eingeben + URL zum Stream von VLC angeben. (URL Stream in der mvdr.conf einzustellen).
+
## Netzwerkeinstellungen -> URL für Server eingeben + URL zum Stream von VLC angeben. (URL Stream in der mvdr.conf einzustellen).
 
## Der Client kann feststellen welche Netzwerkverbindung er hat (WLAN/EDGE/UMTS...) je nach dem wird ein unterschiedlicher URL auf dem Server aufgerufen.
 
## Der Client kann feststellen welche Netzwerkverbindung er hat (WLAN/EDGE/UMTS...) je nach dem wird ein unterschiedlicher URL auf dem Server aufgerufen.
 
# Zurück Hauptmenü
 
# Zurück Hauptmenü
 
# Download Bouquet, sollte dann selbsterklärend sein.
 
# Download Bouquet, sollte dann selbsterklärend sein.
  
Natürlich verursacht das ganz massiv Traffic, also nur für welche mit Flatrate.
+
Natürlich verursacht das ganz massives Volumen beim Datenverkehr, also ist also nur in Verbindung mit einer Flatrate sinnvoll einsetzbar. Es bleibt aber lokal auch die Möglichkeit WLAN nutzen.
Sonst halt WLAN nutzen.
+
  
 
User mit einem G2 (HTC Hero) und einer OS-Version 1.5 oder 1.6 benötigen noch eine Datei (libopencoreplayer.so) die ausgetauscht werden muss.
 
User mit einem G2 (HTC Hero) und einer OS-Version 1.5 oder 1.6 benötigen noch eine Datei (libopencoreplayer.so) die ausgetauscht werden muss.
Die Ursprüngliche nutz bei h264 leider den Softwareencoder.
+
Die Ursprüngliche nutzt bei h264 leider den Softwareencoder.
 
+
SourceCode gibt es beim Entwickler.
+
  
 
== Probleme ==
 
== Probleme ==
Zeile 54: Zeile 52:
 
Sollte es eine Fehlermeldung bezüglich Telnet geben unterstützt die VLC Version vielleicht kein Telnet.
 
Sollte es eine Fehlermeldung bezüglich Telnet geben unterstützt die VLC Version vielleicht kein Telnet.
 
*Videoformat
 
*Videoformat
Wenn man in der Console folgende Zeile aufruft, dann sollte die Aufzeichnung nach /tmp/test.mp4 konvertiert werden. Dieses File sollte man auf sein Handy kopieren und abspielen können.
+
Wenn man in der Konsole folgende Zeile aufruft, dann sollte die Aufzeichnung nach /tmp/test.mp4 konvertiert werden. Dieses File sollte man auf sein Handy kopieren und abspielen können.
 
  vlc /media/video/Die_Simpsons/2010-01-12.20.38.99.99.rec/001.vdr -vvvv ':sout=#transcode{soverlay,ab=8,samplerate=11025,channels=1,acodec=mp4a,vcodec=h264,width=160,height=120,fps=25,vb=150}:gather:std{access=file,dst=/tmp/test.mp4}'
 
  vlc /media/video/Die_Simpsons/2010-01-12.20.38.99.99.rec/001.vdr -vvvv ':sout=#transcode{soverlay,ab=8,samplerate=11025,channels=1,acodec=mp4a,vcodec=h264,width=160,height=120,fps=25,vb=150}:gather:std{access=file,dst=/tmp/test.mp4}'
 
*vlc über mvdr.pl
 
*vlc über mvdr.pl
In der mvdr.pl Zeile 436 (aufruf vom VLC) auskommentieren.
+
In der mvdr.pl Zeile 436 (Aufruf vom VLC) auskommentieren.
 
Nun den VLC per Hand starten:
 
Nun den VLC per Hand starten:
 
  vlc -vvv --ignore-config -I telnet --telnet-port 4212 --telnet-password videolan
 
  vlc -vvv --ignore-config -I telnet --telnet-port 4212 --telnet-password videolan

Version vom 20. Februar 2010, 12:24 Uhr

Inhaltsverzeichnis

Übersicht

droidVDR ist ein streaming-client für Android vom VDR-Portal User "Morlock"

Die Software kommuniziert per SVDRP mit dem VDR, das heißt, das iPhone bzw. der iPod touch muss per WLAN oder EDGE mit dem VDR kommunizieren können. SVDRP ins Internet zu öffnen, ist keine gute Idee, da Sicherheitsrisiko (jeder darf Aufnahmen löschen...), also sollte lieber WLAN genutzt werden.


Softwareanforderungen

  1. VLC min Version 0.9 da das Telnet Interface benötigt wird
  2. VDR mit Streamdev Plugin
  3. Webserver mit Perl
  4. Perl-Paket "Net::Telnet"

Download

Die zwei Dateien mvdr.rar.txt und droidVDR.rar.txt gibt es im Portal unter [1] Den eigentlich SourceCode gibt es nur beim Entwickler.

Installation

Was braucht man, wie funktioniert es:

  1. VDR mit streamdev-server und vlc (bei mir 1.0.3)
    1. Von einem anderen Rechner aus Probieren ob Streamdev läuft.(vlc öffnen und z.b. http://ip-des-vdr:3000/PES/1)
      Das muss laufen, dann weiter mit Punkt 2.
  2. Webserver (Apache2 mit Perl Unterstürzung installieren)
    Zusätzlich muss das Perl-Paket "Net::Telnet" installiert sein.
  3. mvdr.rar.txt (Umbennen (mvdr.rar)+ Entpacken) und auf den WEB-Server (perl-script).
  4. mvdr.conf bearbeiten. Die Variablen sollten eigentlich klar sein.
    1. $VLC_RTSP_TRANSCODE_H = bedeutet diese Transcode zeile wird verwendet wenn eine gute(HIGH) Verbindung (WLAN) besteht.
    2. $VLC_RTSP_TRANSCODE_M = bedeutet diese Transcode zeile wird verwendet wenn eine gute(MEDIUM) Verbindung (UMTS) besteht.
    3. $VLC_RTSP_TRANSCODE_L = bedeutet diese Transcode zeile wird verwendet wenn eine gute(LOW) Verbindung (EDGE) besteht.
  5. VLC Testen
    1. auf Konsole wechseln und vlc per Hand starten
      vlc --ignore-config -I telnet --telnet-port 4212 --telnet-password videolan >/dev/null
    2. Konsole wechseln und telnet Verbindung zum vlc herstellen
      telnet 127.0.0.1 4212"
      Passwort ist dan "videolan", Befehl "shutdown" eingeben = vlc beenden.
  6. Jetzt kann man mal mit dem Browser probieren z.B. http://server.ip.:port/cgi-bin/mvdr.pl?bouquet, eine Übersicht der Sektionen zu bekommen.
    Erst wenn das funktioniert weiter machen.
  7. droidVDR.rar.txt (Umbenennen (droidVDR.rar)+ Entpacken) auf das Android Phone, und installieren.
  8. Programm starten, "Menü" -> "Settings"
    1. Netzwerksettings1 aktivieren.
    2. Netzwerkeinstellungen -> URL für Server eingeben + URL zum Stream von VLC angeben. (URL Stream in der mvdr.conf einzustellen).
    3. Der Client kann feststellen welche Netzwerkverbindung er hat (WLAN/EDGE/UMTS...) je nach dem wird ein unterschiedlicher URL auf dem Server aufgerufen.
  9. Zurück Hauptmenü
  10. Download Bouquet, sollte dann selbsterklärend sein.

Natürlich verursacht das ganz massives Volumen beim Datenverkehr, also ist also nur in Verbindung mit einer Flatrate sinnvoll einsetzbar. Es bleibt aber lokal auch die Möglichkeit WLAN nutzen.

User mit einem G2 (HTC Hero) und einer OS-Version 1.5 oder 1.6 benötigen noch eine Datei (libopencoreplayer.so) die ausgetauscht werden muss. Die Ursprüngliche nutzt bei h264 leider den Softwareencoder.

Probleme

VLC

Es ist noch nicht ganz klar welches die minimale Version vom VLC ist. Es gibt mehrere Tests die man machen kann.

  • Telnet
vlc -I telnet --telnet-port 4212 --telnet-password videolan

Sollte es eine Fehlermeldung bezüglich Telnet geben unterstützt die VLC Version vielleicht kein Telnet.

  • Videoformat

Wenn man in der Konsole folgende Zeile aufruft, dann sollte die Aufzeichnung nach /tmp/test.mp4 konvertiert werden. Dieses File sollte man auf sein Handy kopieren und abspielen können.

vlc /media/video/Die_Simpsons/2010-01-12.20.38.99.99.rec/001.vdr -vvvv ':sout=#transcode{soverlay,ab=8,samplerate=11025,channels=1,acodec=mp4a,vcodec=h264,width=160,height=120,fps=25,vb=150}:gather:std{access=file,dst=/tmp/test.mp4}'
  • vlc über mvdr.pl

In der mvdr.pl Zeile 436 (Aufruf vom VLC) auskommentieren. Nun den VLC per Hand starten:

vlc -vvv --ignore-config -I telnet --telnet-port 4212 --telnet-password videolan

Wenn man nun mit seinem Handy einen Stream startet kann man sehen was der VLC macht. Nach dem beenden des Streams wird jedoch auch der VLC beendet.

Aufzeichnungen werden nicht angezeigt

Das Problem könnte sein das in den Verzeichnisnamen der Aufzeichnungen Sonderzeichen sind. Der Perl Parser in der mvdr.pl kommt damit nicht klar.

Handy spielt Video nicht ab

Es kann sein das die libopencoreplayer.so auf dem Handy zu alt ist. Neue besorgen und installieren. (TODO woher und wie installieren?)

Links

  1. [2]