[Update] droidVDR streaming-client Android

  • Hallo,
    ich habe für Android einen Streamingclient geschrieben.
    Es ist die erste Version, könnten also noch ein paar kleine Bug's drinnen sein.
    :schiel
    Für das perl-script hab ich die meisten funktionen vom ivdr oder vdradmin herausgenommen. Ich sag dafür an alle Danke


    Was braucht man, wie funktioniert's:


    1. VDR mit streamdev-server und vlc (vlc aus den sourcen)
    1.1 Von einem anderen Rechner aus Probieren ob Streamdev läuft.


    2. Webserver (Apache2 mit Perl Unterstüzung installieren)
    Dieses Testscript mal in cgi-bin legen und testen.


    3. droidVDR.tar.txt (Umbennen droidVDR.tar + Entpacken) und den Ihnalt von cgi-bin auf den WEB-Server (perl-script).


    4. mvdr.conf bearbeiten. Die Variablen sollten eigentlich klar sein.
    4.1
    - $VLC_RTSP_TRANSCODE_H = bedeutet diese Transcode zeile wird verwendet wenn eine gute(HIGH) Verbindung (WLAN) besteht.
    - $VLC_RTSP_TRANSCODE_M = bedeutet diese Transcode zeile wird verwendet wenn eine gute(MEDIUM) Verbindung (UMTS) besteht.
    - $VLC_RTSP_TRANSCODE_L = bedeutet diese Transcode zeile wird verwendet wenn eine gute(LOW) Verbindung (EDGE) besteht.


    5. Jetzt kann man mal mit dem Browser probieren z.B. htp://server.ip.:port/cgi-bin/mvdr.pl?bouquet, eine Übersicht der Sektionen zu bekommen.
    Erst wenn das funktioniert weiter machen.


    6. droidVDR.apk installieren


    7. Programm starten, "Menü" -> "Settings"
    7.1 Netzwerksettings1 aktivieren.
    7.2 Netzwereinstellungen -> URL für Server eingeben + URL zum Stream von VLC angeben. (URL Stream in der mvdr.conf einzustellen).
    7.3 Der Client kann feststellen welche Netzwerkverbindung er hat (WLAN/EDGE/UMTS...) je nach dem wird ein unterschiedlicher URL auf dem Server aufgerufen.


    8. Zurück Hauptmenü
    9. Download Bouquet, sollte dann selbsterklärend sein.


    Natürlich verursacht das ganz massiv Traffic, also nur für welche mit Flatrate.
    Sonst halt WLAN nutzen.


    Leider werde ich nicht jeden Tag hier weiterentwickeln, sollte jemand Lust und Laune haben, kann er gerne den Source von mir haben.
    Solange er diese auch wieder zur Verfügung stellt.


    Also Viel Spaß beim Testen.
    Gruß

    Files

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox

    The post was edited 2 times, last by Morlock ().

  • Ich sag mal ein großes DANKE !


    Werde ich heute Abend gleich testen !


    1.VDR: Stabile Version ab Dez.2008-2013: EasyVDR 0.8.6
    1 DVB-S Technotrend Premium S2300 /Intel Pentium 2,4 GHz / VG33/ Samsung 160 GB /512 DDR

    1.Client-VDR Motorola VIP1710
    2.Client-Test VDR Raspberry Pi mit Openelec

  • Hi,


    bekomme leider folgenden Fehler:


    Code
    1. mvdr.pl: Modification of non-creatable array value attempted, subscript -1 at /srv/www/cgi-bin/mvdr.pl line 158.


    Scheint mit der channels.conf wohl zusammen zu hängen. Der Pfad in der mvdr.conf zur channels.conf stimmt.
    Ich selber habe vdr 1.7.10.

    Quote

    BOARD: Biostar Viotech 3100+
    CPU: VIA C7-D 1.6+ GHz (onboard) - SYSTEM DISK: 8GB (half slim SSD) - DATA DISK: 2 TB
    RAM: 1 GB
    OS: Debian 7.2 - KERNEL: 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux
    VDR: 2.0.4
    DVB: Mystique SaTiX-S2 Dual (v2)

  • Hi Morlock


    ich hänge schon bei diesem Punkt fest


    5. Jetzt kann man mal mit dem Browser probieren z.B. htp://server.ip.:port/cgi-bin/mvdr.pl?bouquet, eine Übersicht der Sektionen zu bekommen.


    perl und apache habe ich laufen
    habe ja auch zugriff auf xxv



    welches Port sollte eingetragen werden im Punkt 5


    1.VDR: Stabile Version ab Dez.2008-2013: EasyVDR 0.8.6
    1 DVB-S Technotrend Premium S2300 /Intel Pentium 2,4 GHz / VG33/ Samsung 160 GB /512 DDR

    1.Client-VDR Motorola VIP1710
    2.Client-Test VDR Raspberry Pi mit Openelec


  • [UPDATE]
    Bekomme nun das Boquet angezeigt. mvdr.pl mag es nicht wenn in der 1. Zeile ein Gruppe sowie eine Kanalnummer steht:

    Code
    1. :@1 FreeTV


    Zudem muss er die channel.conf auch lesen können - logisch :-)

    Quote

    BOARD: Biostar Viotech 3100+
    CPU: VIA C7-D 1.6+ GHz (onboard) - SYSTEM DISK: 8GB (half slim SSD) - DATA DISK: 2 TB
    RAM: 1 GB
    OS: Debian 7.2 - KERNEL: 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux
    VDR: 2.0.4
    DVB: Mystique SaTiX-S2 Dual (v2)

  • JDMario
    Der Port auf den der Apache bzw. cgi-bin eingestellt ist.
    Das kann ja jeder irgendwie machen. Wenn dein Server != Port 80 ist dann einen Port andernfalls den Port weglassen.


    Setz halt mal in den cgi-bin Pfad ein einfaches Perl-script.
    Wenn das klappt kannst ja weiter machen.


    P.S. Würde mich freuen wenn jemand bescheid gibt, wenn's läuft.
    Bin erst wieder morgen hier :-)


    Servus

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox

    The post was edited 1 time, last by Morlock ().

  • Hi,


    bei mir läuft es grundsätzlich. Beim Stream habe ich durchgehend Ton ohne Aussetzer aber das Bild besteht nur aus Einzelbildern und das bei wlan. :-(
    Aber da kann ich ja mal mit den Transcode-Einstellungen noch ein bissl spielen.


    Marcel

    Quote

    BOARD: Biostar Viotech 3100+
    CPU: VIA C7-D 1.6+ GHz (onboard) - SYSTEM DISK: 8GB (half slim SSD) - DATA DISK: 2 TB
    RAM: 1 GB
    OS: Debian 7.2 - KERNEL: 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux
    VDR: 2.0.4
    DVB: Mystique SaTiX-S2 Dual (v2)

  • mhanu ,
    was hast du denn unter Settings, netzwerkspeed eingestellt.
    Folgende Einstellungen gibt's:
    Auto = Je nach Verbindung nimmt er die Transcodeienstellung
    (WLAN = TRANSCODING_H)
    (UMTS = TRANSCODING_M)
    (EDGE = TRANSCODING_L)
    Default ist leider TRANSCODING_L mit niedriger bitrate eingestellt.

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox

  • Ich bekomm die App leider nicht installiert auf meinem google g1, install unsuccessfull.


    habs schon mehrmals runtergeladen, nix gebracht.


    am g1 is nix gemooded, muß evtl. was geändert werden?

    | HP Microserver Gen 7 | Cine S2 + DVBSky S952 | vdr2.2 | Streamdev Server |
    | Streamdev Clients: paar Rpi2, yavdr.... |

  • Ich hatte noch version 1.1 drauf, hab das Gerät erst seit Do.
    Mit version 1.6 lies sich die app installieren, sender werden gefunden, epg wird angezeigt, allerdings läßt sich kein video abspielen.


    VLC hab ich mit deiner config gebaut, allerdings version 1.0.2, die svn konnte ich nicht auschecken weil er ein passwort wollte.


    könntest du vieleicht ein kleines howto machen?


    hier mal der apache error log:


    Code
    1. [Sat Dec 19 17:07:21 2009] [notice] Apache/2.2.11 (Ubuntu) mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming normal operations [Sat Dec 19 17:07:31 2009] mvdr.pl: Can't call method "waitfor" without a package or object reference at /usr/lib/cgi-bin/mvdr.pl line 463, <SOCK> line 1. VLC media player 1.0.2 Goldeneye

    | HP Microserver Gen 7 | Cine S2 + DVBSky S952 | vdr2.2 | Streamdev Server |
    | Streamdev Clients: paar Rpi2, yavdr.... |

  • Hi,
    Ich werde ein kleines How-To machen,
    leider komm ich erst Montag dazu.
    Gruß

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox

  • Tach,


    habe auch VLC 0.8.6a mit der config installiert


    erscheint bei mir auch folgender Fehler


    Code
    1. Can't call method "waitfor" without a package or object reference at /var/www/apache2-default/cgi-bin/mvdr.pl line 530, <SOCK> line 1.


    1.VDR: Stabile Version ab Dez.2008-2013: EasyVDR 0.8.6
    1 DVB-S Technotrend Premium S2300 /Intel Pentium 2,4 GHz / VG33/ Samsung 160 GB /512 DDR

    1.Client-VDR Motorola VIP1710
    2.Client-Test VDR Raspberry Pi mit Openelec

  • dann bin ich wohl nicht alleine mit meinem problem:-) Hoffe ja noch auf Morlocks howto:-)


    gruß Andy

    | HP Microserver Gen 7 | Cine S2 + DVBSky S952 | vdr2.2 | Streamdev Server |
    | Streamdev Clients: paar Rpi2, yavdr.... |

  • bin gerade dabei :-)


    Can't call method "waitfor" without a package or object reference at /var/www/apache2-default/cgi-bin/mvdr.pl line 530, <SOCK> line 1.


    Ich nehme an
    a: hier fehlt das Perl-Packet Net::Telnet.
    oder
    der VLC ist bereits gestartet.


    Problem a: installiere NET::TELNET
    Problem b. "killall vlc" bzw. mit einem Client VLC mal auf den Streaming-Link gehen.

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox

    The post was edited 1 time, last by Morlock ().

  • Morgen,


    so ich habe mal Net::Telnet installiert


    danach habe ich folgendes gemacht


    Code
    1. mario@easyVDR:~$ vlc -I telnet --telnet-port 4212 --telnet-password videolan >/dev/null
    2. VLC media player 0.8.6a Janus
    3. [00000258] main interface: creating VLM
    4. [00000258] telnet interface: using the VLM interface plugin...
    5. [00000258] telnet interface: telnet interface started on interface 4212


    Wenn ich nun im Windows-Rechner versuche den Stream zu starten
    steht dann einfach da


    done play :-)


    und in der Konsole kommt folgendes

    Code
    1. invalid options (empty)[00000263] [Medium: live-tv] main stream output error: invalid chain
    2. [00000264] [Medium: live-tv] stream_out_transcode private error: cannot create chain
    3. [00000263] [Medium: live-tv] main stream output error: stream chain failed for `transcode{{soverlay,ab=8,samplerate=11025,channels=1,acodec=mp4a,vcodec=h264,width=160,height=120,vfilter=canvas{width=160,height=120,aspect=16:9},fps=25,vb=150,venc=x264{vbv-bufsize=300,partitions=all,level=12,no-cabac,subme=7,ref=2,mixed-refs=1,bframes=0,min-keyint=1,keyint=50,trellis=2,direct=auto,qcomp=0.0,qpmax=51}}:gather:rtp{mp4a-latm,sdp=rtsp://192.168.178.10:1235/test.sdp}'
    4. [00000261] [Medium: live-tv] main input error: cannot start stream output instance, aborting


    wenn ich dann nochmals die Seite aktualisiere kommt folgendes


    Code
    1. write error: filehandle isn't open at /var/www/apache2-default/cgi-bin/mvdr.pl line 591


    Im Grunde mag der VLC irgendwas nicht ! meine Version 0.8.6a (für Debian Etch)
    Leider habe ich nicht gerade Super Linux Kenntnisse !


    Jedenfalls muss ich immer auf der Konsole

    Code
    1. mario@easyVDR:~$ vlc -I telnet --telnet-port 4212 --telnet-password videolan >/dev/null


    eingeben um überhaupt soweit zu kommen.


    Wenn ich das nicht eingebe kommt wieder diese Meldung meines vorigen Postings


    1.VDR: Stabile Version ab Dez.2008-2013: EasyVDR 0.8.6
    1 DVB-S Technotrend Premium S2300 /Intel Pentium 2,4 GHz / VG33/ Samsung 160 GB /512 DDR

    1.Client-VDR Motorola VIP1710
    2.Client-Test VDR Raspberry Pi mit Openelec

  • Geh zu Zeile 436.
    Zeile auskommentieren

    Code
    1. my $test = system("vlc --ignore-config --daemon --pidfile /var/pid/vlc -I telnet --telnet-port $telport --telnet-password videolan --extraintf http & >/dev/null");

    einfach # davor.


    dann alle vlc's beenden.


    Danach starte vlc mit Debug Einstellungen, dann kann man mehr erkennen.
    Debug einfach "-vvv" ist viel ausgabe "-v" ist wenig debug Ausgabe.
    Ich würde mal mit -v Anfangen. Vielleicht siehst du schon mal was.

    Code
    1. vlc -vvv --ignore-config -I telnet --telnet-port 4212 --telnet-password videolan


    Du kannst auch das setup für den vlc per hand mal eingeben.


    siehe Zeile ca.591
    per Hand, telnet 127.0.0.1 4212 password videolan.


    dann tippst du,
    1.new mysetup broadcast
    (Neuen Broadcast anlegen mit namen mysetup)
    2. setup mysetup input http://127.0.0.1:3000/PS/1
    (Hier wird vlc-broadcast's quelle eingestellt)
    3. setup mysetup output transcode\{{soverlay,ab=8,samplerate=11025,channels=1,acodec=mp4a,vcodec=h264,width=160,height=120,vfilter=canvas{width=160,height=120,aspect=16:9},fps=25,vb=150,venc=x264{vbv-bufsize=300,partitions=all,level=12,no-cabac,subme=7,ref=2,mixed-refs=1,bframes=0,min-keyint=1,keyint=50,trellis=2,direct=auto,qcomp=0.0,qpmax=51}}:gather:rtp{mp4a-latm,sdp=rtsp://192.168.1.5:1235/test.sdp}
    (Hier sagen wir vlc weclhe Transcodeeinstellung er verwenden soll)
    4. setup mysetup enabled
    (Hier wird aktiviert)
    5. setup mysetup play
    (Hier wird gestartet)


    Jetzt solltest du mit einem anderenm VLC

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox

  • Hi Morlock,


    Hier mal die Meldung
    von

    Code
    1. vlc -vvv --ignore-config -I telnet --telnet-port 4212 --telnet-password videolan



    Ausgabe


    Handisch kann ich nicht machen, da er mir die Telnet Verbindung nicht zulässt.


    aber wenn ich wie oben das gleiche eingebe ohne "--ignore-config"
    kommt dann das raus



    1.VDR: Stabile Version ab Dez.2008-2013: EasyVDR 0.8.6
    1 DVB-S Technotrend Premium S2300 /Intel Pentium 2,4 GHz / VG33/ Samsung 160 GB /512 DDR

    1.Client-VDR Motorola VIP1710
    2.Client-Test VDR Raspberry Pi mit Openelec

  • Wer läßt die Telnet Vebindung nicht zu???
    Was tippst du den ein. Die Telnet Verbindung benötigen wir aber.


    Hast du den vlc beendet ? oder
    woher kommt das

    Code
    1. signal 2 received, terminating vlc - do it again in case it gets stuck

    Gigabyte GA-M720-US3, AMD X3 400e, GT220 Pailt, 4GB RAM, Tevii S470, debian squeeze und alles selber gebaut.
    Dreambox