VlcPlayerExtended mit Playlist- und Internetstreaming- Unterstützung

  • Hi,


    ich habe mir erlaubt, das geniale Plugin von lexx911 etwas meinen Anforderungen und Wünschen anzupassen. Herausgekommen ist eine erweiterte Version ...


    Insbesondere habe ich mich auf das Streamen von Content (Live und OnDemand) aus dem Internet über den VLC auf die Dreambox konzentriert. Um diese Funktion zu unterstützen habe ich notwendigerweise auch eine Unterstützung von Playlists auf VLC-Seite implementiert. D.h. enthält eine in den VLC geladene Playlist URLs zu externen Content können diese über den VLC auf die Box gestreamt werden.


    Weiters habe ich eine ServiceTS-Erkennung eingebaut, sodass servicets.so nur dann importiert wird, wenn dieses Service noch nicht in enigma2 vorhanden ist. So ist es möglich, dass ein einziges ipk sowohl für Gemini-3.5 (ServiceTS in enigma2 integriert) wie auch für die aktuellen CVS-Images, scvs und OoZooN (ServiceTS nicht in enigma2 integriert) passt.


    Das GUI habe ich auch etwas nach meinem Geschmack angepasst und, wie ich denke, etwas intuitiver gestalltet.


    Alles in allem - hier eine Übersicht über alle (ich hoffe ich habe nichts vergessen) zusätzliche Features:

    • Getestet unter Gemini-3.5, scvs-20080509 und OoZooN-20080510, sowie VLC unter Linux und VLC unter Windows
    • Unterstütung von VLC-Playlists
    • Streaming aus dem Internet über VLC-Playlists möglich
    • Informationen werden auch am LCD/OLED-Display angezeigt
    • Überarbeitetes Userinterface
    • Vereinfachtes Starten einer DVD-Wiedergabe
    • Überarbeitete ServiceTS-Erkennung
    • Ein einziges ipk unterstützt sowohl enigma2-Binaries mit integriertem ServiceTS also auch enigma2-Binaries ohne integriertem ServiceTS
    • Settings für jeden VLC-Server individuell einstellbar
    • Getrenntes notranscode für Video und Audion von MPEG/DVD/TS-Dateien

    Ich möchte mich ausdrücklich bei lexx911 für die geniale Idee und seine Umsetzung bedanken - einiges an Code wurde aus seiner Implementierung verwendet. Also, viel spass beim Testen.


    UPDATE: 2.8.2008:
    - Die servicets.so der letzten version ( 9.7.2008 ) war nicht mehr kompatibel mit der aktuellen version von enigma2. Das (einzige?) symptom dieser inkompatibilitaet zeigte sich am ende eines betrachteten movies. Das EOF (end of file) signal wurde nicht mehr an die Python-Seite uebergeben, weshalb am movieende der bildschirm schwarz blieb und explizit <exit> oder <stop> gedrueckt werden musste. Ein neuuebersetzen von servicets.so hat dieses problem behoben.
    - Wieder einmal (hoffentlich das letzte mal) hat sich das "API" des VlcPlayers geandert, weshalb das "Suomipoeka"-Plugin und das "Media Center" wieder angepasst werden muessen. Diese aenderung wurde notwendig um alle features des neuen YouTube-Plugins zu unterstuetzen. Anbei sind wieder zwei dateien, welche diese inkompatibilitaeten beheben.
    - Suomipoeka: MovieSelection.py.gz per z.b. ftp in das verzeichnis /usr/lib/enigma2/python/Plugins/Extensions/Suomipoeka kopieren und unzippen (gunzip).
    - Media Center: MC_VLCPlayer.py.gz in das verzeichnis /usr/lib/enigma2/python/Plugins/Extensions/MediaCenter kopieren und unzippen (gunzip).


    UPDATE: 9.7.2008:
    - A potential crash reported by wildfr here is fixed in version 2.6cvs20080701-r3.


    UPDATE: 1.7.2008:
    - Die benutzerfreundlichkeit wurde, durch die moeglich einen default-Server definieren zu koennen, erhoeht. Nach der auswahl eines default-Servers startet der VlcPlayer gleich in die MediaList.
    - Unter der oberflaeche hats einige kleinere und groessere aenderungen gebene. So wurde der code weiter modularisiert, um die einbindung in externe Plugins, wie z.B. die "Enhanced MovieList" von suomipoeka und das "Dreambox MediaCenter" von Homey [GER], zu erleichtern.


    Achtung: Die "Enhanced MovieList 0.8.6-r0" und das "Dreambox MediaCenter v0.8.2" sind mit der version 2.6cvs20080701 des VlcPlayers nicht kompatibel. Unten habe ich aber zwei diff-files angehängt, welche die beiden plugins wieder zur aktuellen VlcPlayer-Version kompatibel machen. Diese beiden diff-files habe ich auch schon an die autoren der plugins uebermittelt.
    Also: Entweder auf neue versionen der plugins warten, oder (entsprechendes wissen vorausgesetzt) selbst patchen.


    UPDATE: 11.6.2008:
    Einige Updates und Bugfixes sind in diese neue version eingeflossen.
    - Stark verbessertes error-handling. buntscreens aufgrund einer fehlerhaften kommunikation mit dem VLC sollten nicht mehr auftreten
    - Filenameerkennung von ISOs als dvd ist nicht mehr case-sensitive
    - Filelist und Playlist werden nun in einem "Tab-Widget" angezeigt. Als default werden skin-elemente des default-skins verwendet. Aktuelle loesung ist zwar noch bei weitem nicht optimal aber die bedienung ist intuitiver und klarer
    - Loeschen eines servers produziert keinen buntscreen mehr
    - Abspielen von *.M3Us, welche selbst wieder playlists enthalten funktioniert


    UPDATE: 9.6.2008:
    Das originale vlcplayer-plugin und die extended Version wurden zusammen geführt. Unten steht jetzt die aktuellste (mit dem CVS korrespondierende) Version zum download bereit.
    Um einen Konflikt zwischen der extended Version und dieser aktuellen Version zu vermeiden ist vor dem Box-Neustart unbedingt die ursprüngliche extended Version zu deinstallieren. Sonst startet enigma2 in den Buntscreen.
    Achtung: die Einstellungen die unter der ursprünlichen extended Version vorgenommen wurden (Server-Konfigurationen usw.) gehen leider beim Installieren der aktuellen Version verloren. Das sollte aber bei zukünftigen Versionen dann nicht mehr auftrete, da dies jetzt eine Folge der Zusammenführung ist.



    lg
    Volker

  • So, erste Eindrücke:


    - Crasht bei mir, wenn VLC Plugin neue Version mit DVD und notranscode installiert ist, gleich nach der Installation.
    - Crasht auch, wenn VLC Plugin neue Version mit DVD und notranscode installiert wird, wenn VLCPlayerExtended schon installiert ist, gleich nach der Installation.


    Beide Crashes sind äußerst unschön, denn Enigma startet dann wieder in den Bunt-Screen und man kann nur mit dem An/Aus-Kippschalter auf der Box-Rückseite etwas dagegen tun.


    Ansonsten im Solo-Test: Bei DVDs mit nur Film geht Transcode gut, keine Asynchronitäten entdeckt, trotz Transcode Audio only von AC3.
    Bei DVD's mit Menü scheint etwas krumm zu sein, da wird nur der Menü-Ton mit Schwarzbild in Endlos-Schleife abgespielt.
    Playlist noch nicht getestet.


    Wie wäre es, wenn du dich mit lexx zusammen setzt und ihr das Ding gemeinsam weiter entwickelt? Allein schon wegen der Einbiindung im MediaCenter wäre das Klasse.


    SB

  • crasht bei mir auch (vlc plugin ist auch installiert) :frowning_face:


    salut
    jackdaniel

  • Hi,


    danke fuer eure rückmeldungen. Was den Konflikt mit dem vlcplayer anbelangt, kann ich diesen bestätigen. Das liegt aber leider daran, dass das vlcplugin auf jeden Fall die servicets.so versucht zu importieren - auch wenn servicets.so schon von einem anderen Plugin wie eben dem vlcplayerextended importiert wurde. Also - bei euren experimenten mit dem vlcplayerextended vorher den vlcplayer deinstallieren. Das sollte eigentlich nicht so schlimm sein, da vlcplayer extended ja saemtliche funktionen des vlcplayers unterstuetzt und eben ein paar mehr. Ist aber natürlich nicht schön - werde mir da eine Lösung überlegen.


    Was das Problem mit einer DVD mit Menues angeht, bin ich zur Zeit noch etwas ratlos und verwundert, da die vlc steuerung nahezu 1:1 vom vlcplayer übernommen wurde - das Problem sollte also auch dort auftreten. Welches Image ist installiert? Ist bei allen DVDs mit menu das selbe problem?

  • Ja, bei 3 DVD-Images die ich zur Zeit auf HDD habe, das selbe Problem. Gerade nochmal mit dem VLC-Plugin getestet. Das spielt die problemlos, wenn auch ohne Ton, da nur AC3 vorhanden ist.


    SB

  • Und wenn du auch Audio auf notranscode stellst - ist dann das bild da?

  • Werd ich die Tage mal probieren. Langsam Schlafenszeit und die nächsten Tage ist die Box recht beschäftigt. Wenn ich da was getestet habe, melde ich mich aber so bald wie möglich.


    SB

  • Habs jetzt auch mal ausprobiert. Einige Sachen gefallen mir echt gut. Das sind:
    - vereinfachte Konfiguration, server und settings in einem
    - der "play DVD" button
    - die Möglichkeit Internet streams zu sehen (via Playlist)
    - notranscode für Audio/Video getrennt.


    Was mir allerdings nicht so gefällt ist die zweigeteilte File-/Playlist Ansicht. Die ist mir einfach zu klein und die Auswahl damit zu "fummelig". Bei größeren Film-Archiven ist man nur noch am scrollen. Vielleicht sollte man hier besser umschalten können zwischen File- und Playlist fullscreen.


    Was ich eher ungünstig finde ist, daraus ein zweites Plugin zu machen. Wir sollten das besser in einem zusammenfassen. Der Konflikt mit der servicets.so ist nur ein Folge davon.


    Das mit der servicets Erkennung ist glaub ich überflüssig. Das Gemini 3.4 ist das einzige Image, dass den Service "eingepatched" hatte. Ab 3.5 läuft es wie bei den CVS Images mit der .so aus dem plugin Verzeichnis.

  • Danke lexx911 für deine Kommentar. Die File-/Playlist Ansicht finde ich auch nicht wirklich optimal - werde das mal ändern und die neue Version dann wieder zur Diskussion stellen.
    Die ServiceTS-Erkennung kann in zukünftigen Versionen sicherlich herausgenommen werden - ich will diese aber noch gerne eine Zeit lang drinnen lassen um auch Gemini-3.4 Benutzern (bis diese auf 3.5 umgestiegen sind) die Möglichkeit zu geben, diese Version zu testen.
    Weiters stehe ich der Zusammenführung des extended und des originalen Plugins sehr positiv gegenüber - hättest du einen Vorschlag wie wir das bewerkstelligen können? Vielleicht hast du mal ein paar Minuten Zeit und schaust dir den Code der extended Version an (deine Version kenne ich eh schon in und auswendig :-), damit wir dann über die weitere Vorgehensweise beraten können.


    @all: Kann jemand das "Menu-Probleme" von silentblub bestätigen? Ich kanns leider beim besten Willen bei mir nicht nachvollziehen - alle DVDs (mit oder ohne Menu) werden bei mir problemlos abgespielt. Vor allem würde mich in diesem Zusammenhang interessieren, unter welche Kombination aus Dreambox-Image, VLC-Player und PC-Betriebssystem dieser Fehler auftritt.

  • Hallo voc,


    es werden aber bei der eingebauten servicets im Gimini 3.4 einige funktionen nicht gehen.
    Audio Auswahl usw. Dies sollte man den Leuten auch schreiben nicht das dann kommt das geht aber nicht.


    Von mir eine Kompliment für deine Anpassungen.


    mfg


    nobody9

  • Hallo voc,


    habe mir deinen Code mal genauer angesehen. Du hast ja ziemlich "aufgeräumt". Find ich aber gut. Ist jetzt modularer und damit besser dafür geeingnet, dass mehrere Leute daran entwickeln. Hast Du zugriff auf das Plugin-CVS (http://schwerkraft.elitedvb.net/projects/enigma2-plugins/)? Melde dich da mal an und schreib den admins, dass du schreibzugriff haben willst. Ich würde jetzt deine Version und meine letzten Änderungen mergen und da einchecken. Ist das ok für dich?


    P.S. das mit der file/playlist könnte man so lösen:
    im skin beiden listen die gleiche (volle) größe geben und in switchTo..List() statt selectionEnabled() mit show()/hide() abwechselnd ein-/ausblenden. Damit kann man zwischen beiden Listen fullscrenn umschalten.

  • Hallo,


    Crasht bei mir gleich nach der Installation.
    Enigma startet und Crashed immer wieder. An/Aus-Kippschalter auf der Box-Rücksei hilft nicht.
    Box: Dreambox 7025+
    Image: Gemini-3.5
    VLC Plugin neue Version mit DVD und notranscode installiert.


    Bitte um Hilfe
    klada

  • Hallo klada,


    ja, leider, wie weiter oben schon geschrieben - es gibt einen Konflikt zwischen dem originalen vlcplayer-plugin und der extended version - dieser Konflikt wird durch ein Zusammenführen der beiden Versionen bald behoben sein.
    Du kannst aus dem "ständigen Color-Screen"-Dilemma heraus kommen indem du dich per ssh/telnet auf der Box einloggst (sollte ja funktionieren, da ja "nur" enigma crashed aber nicht gleich das ganze linux :) und eines der beiden Plugins (original ode extended) deinstallierst. Dann sollte enigma wieder ohne Probleme starten.


    lg
    voc

  • Hallo lexx911,


    fein, dass du meinen Anpassungen positiv gegenüber stehst. Da ich aus dem C++-Lager komme, bin ichs natürlich gewohnt objektorientiert zu programmieren - so gut das halt unter Python geht :) Deshalb ist die extended Version auch einigermaßen modular geworden. Ein paar "verschönerungen" (im Code) wirds sicher noch geben. Das kann aber warten, bis ich CVS-access habe. Bis dahin bin ich natürlich einverstande, dass du unsere beiden Versionen mergest und ins CVS eincheckst.


    Bzgl. des File/Playlist-Problems habe ich heute - lustiger weise - genau die selbe Idee gehabt - die noch nicht belegte gelbe Taste könnte man zum Toggeln verwenden. Ich wollte das gerade einbauen. Machst du diese Änderung und checkst dann ein, oder soll ich dir später eine modifizierte Variante zukommen lassen?


    lg
    voc

  • Zitat

    Insbesondere habe ich mich auf das Streamen von Content (Live und OnDemand) aus dem Internet über den VLC auf die Dreambox konzentriert. Um diese Funktion zu unterstützen habe ich notwendigerweise auch eine Unterstützung von Playlists auf VLC-Seite implementiert. D.h. enthält eine in den VLC geladene Playlist URLs zu externen Content können diese über den VLC auf die Box gestreamt werden.


    Hi,


    könntest du mal anhand eines Beispieles erklären wie man einen Internetstream dann einbauen und streamen kann?


    Danke Tex

  • TexanerX, ja sicher, gern.


    Z.b. erstelle eine Datei namens "playlist.m3u" auf deinem PC/Mac mit folgendem inhalt:

    Code
    #EXTM3U
    #EXTINF:0,n-tv Live
    mms://217.118.170.203/ntvlive
    #EXTINF:0,NRK-TV
    mms://mms-icanal-live.online.no/nrk_tv_webvid03_h
    #EXTINF:0,3sat
    mms://c36000-l.w.core.cdn.streamfarm.net/36000zdf/live/3546zdf/encoder.zdf.3sat_h_16zu9.wmv


    Diese Datei soll sich in einem Direktory befinden, dass du von der Dreambox über den VLC erreichen kannst - also z.B. einfach in dem Direktory, in dem sich auch Videos befinden.
    Dannach navigierst du mit Hilfe des Extended-Plugins auf der Box in dieses Verzeichnis und klickst auf die Datei "playlist.m3u".
    Kurz danach siehst du im Playlist-Teil des Screens die drei Einträge der playlist.m3u.
    Mit den Bouquet-Tasten kannst du in den Playlist-Teil wechseln. Einfach einen Klick auf einen Eintrag, und dieser Stream sollte gestartet werden. 3sat funktioniert nicht immer.
    Ich hoffe, das war verständlich :)


    Es kann auch schon von vorn herein eine Playlist im VLC existieren, diese wird dann auch angezeigt und deren Einträge können abgespielter werden. Prinzipiell kann jeder Stream abgespielt werden, den der VLC abspielen kann - also nahezu alles :) Ich schau z.B. gerade NASA-OnlineTV. Dieser Stream geht aber erst mit einer kleinen Anpassung des Plugins - also (noch) nicht mit der aktuellen Version im 1. Posting.


    lg
    voc

  • Ich mach das über das Web Interface:


    Mit dem Browser auf http://<dein-vlc-server>:8080/ gehen. Dort links oben "open" klicken. Unter Input auf "Network" und bei HTTP/HTTPS die URL eingeben und auf enqueue klicken.
    Ab jetzt siehst du auf der Box unter Playlist diese Url (evtl. refresh) und kannst sie starten.

  • Hi,


    danke euch beiden. Werde mal testen. Da macht ja durchaus ein gemeinsamer Austausch einer guten Playlist mit vielen Sendern hier Sinn:-)


    Die kann man ja immer weiter komplettieren.


    Tex