Die letzten tage ueber, habe ich mich mit dem streamen von YouTube-Movies beschaeftigt. Heraus gekommen ist ein YouTube-Player plugin, das nun mal als preview-release (also noch im alpha-stadium) vorliegt und auf das VlcPlayer plugin aufsetzt. (Deshalb heute auch die dumme hudelei und das chaos beim releasen des neuen VlcPlayers)
Update: 17.6.2010
Für alle, die nicht auf ein neues aktuelles image warten können gibts unten die aktuelle version des YouTube-Players zum downloaden.
Diese version erkennt automatisch den box-typ. Auf der DM-800 und der DM-8000 wird direkt von YouTube ohne eine vlc-zwischenstation gestreamt, auf allen anderen enigma2-boxen ist nach wie vor das transcoden über den vlc notwendig! Auf der DM-800 und der DM-8000 ist über das direkte streaming von YouTube nun auch HD-quality möglich.
Verbesserungen und bugfixes:
- Das login bei YouTube funktioniert wieder
- Es existiert nun ein quality-fallback: D.h. ist ein ausgewähltes video nicht in der eingestellten qualität verfügbar, wird automatisch die nächstbeste qualitätsstufe gestreamt.
- Verbessertes extrahieren des video-urls: Es sollten nun urls zu allen auf YouTube existierenden videos gefunden werden.
Todo:
- Anpassen des GUIs, sodass auf DM-800 und DM-8000 die vlc-server-auswahlmöglichkeit nicht mehr angezeigt wird.
- Generelles anpassen des GUIs an HD und SD boxen
Update: 4.11.2008
Das versionsnummernschema hat sich geaendert um in das schema der bekannten image-feeds zu passen.
Die release 2.5cvs20081104 beseitigt einen kuerzlich aufgetretene inkompatibilitaet des plugins mit den neuen YouTube-webseiten.
Ebenso wurde die fehlerbehandlung stark verbessert. Es sollten jetzt keine "color-screens" mehr auftauchen.
Update: 2.8.2008
Nach dem "proof of concept" in Version 0.1 gibts jetzt mit version 0.2 den erste wirklich sinnvoll brauchbaren YouTube-Player. Diese version ist eine echte implementierung eines YouTube-Clients. So werden nicht einfach nur das abspielen von YouTube-Videos unterstuetzt, sondern auch unterschiedliche features, die direkt von YouTube angeboten werden.
Darunter sind:
- YouTube-Playlists
- YouTube-Favorites
- YouTube-Related Feeds
- YouTube-Response Feeds
- YouTube-Statistics
- YouTube-Suggestions
- YouTube-Accounts
Die umsetzung dieser features in form von enigma2-dialogen kann aus den beigefuegten screenshots entnommen werden.
Voraussetzung fuer der nutzung dieser advanced features ist ein gueltiger Google-Account, welcher mit einem gueltigen YouTube-Account verknuepft sein muss. Dies ist deshalb so umstaendlich, da man sich ueber das verwendete gdata.py-API nur ueber einen gueltigen google-account bei YouTube anmelden kann. Am einfachsten kann man diese account-kombination erzeugen, indem man sich (per web-browser) bei YouTube mit einem gueltigen Google-Account anmeldet. Ist dieser Google-Account noch nicht mit einem YouTube-Account verknuepft, wird man angeleitet, wie man diese verknuepfung erstellen kann.
Bedienungsanleitung:
Ich habe versucht die bedienung so intuitiv wie moeglich zu gestallten. Um aber ein wenig zu helfen, hier ein paar hinweise.
Ruft man das YouTube-Player plugin auf, gelangt man direkt in den SearchDialog (siehe screenshot)
SearchDialog:
Der SearchDialog ist das gateway zum YouTube-Player. Hier hat man die moeglichkeit einen suchbegriff einzugeben, oder zu weiteren bereitgestellten features zu gelangen.
- Rote Taste: Fuehrt zum Standard-Feeds Dialog
- Gruene Taste: Fuehrt die suche nach dem suchbegriff entsprechen videos durch. Die gefundenen videos werden im MovieScreen angezeigt
- Gelbe Taste: Fuehrt zu vom benutzer angelegten Playlists. Ist man noch nicht bei YouTube eingeloggt, wird zuvor der LoginDialog angezeigt.
- Blaue Taste: Fuehrt zu den favorites des benutzers. Ist man noch nicht bei YouTube eingelogged, wird zuvor der LoginDialog angezeigt.
Eingeben des Suchbegriffs und benutzung der YouTube-Suggestions: Nach jedem eingegebenen buchstaben werden von YouTube (genauer von Google) dem suchbegriff entsprechende suggestions geladen und in einer zusaetzlichen liste als overlay angezeigt. Durch druecken von <OK> kann man diese liste aktivieren und dannach einen passenden vorschlag auswählen. Durch nochmaliges druecken von <OK> verlaesst man wieder das suggestion-overlay und der suchbegriff kann vervollstaendigt werden. Hat man keinen passenden vorschlag im suggestions-overlay gefunden, kann man dieses auch mit <exit> verlassen, wodurch der suchbegriff wieder auf den urspruenglichen wert gesetzt wird.
Standard-Feeds Dialog:
In diesem dialog hat man die moeglichkeit von YouTube automatisch bereitgestellte feeds aufzurufen. Nach auswahl eines feeds und druecken von <OK> werden die videos dieses feeds im MovieScreen aufgelistet.
Playlists Dialog:
Um YouTube-Playlists zu benutzen muss man bei YouTube mit einem gueltigen Google-Account angemeldet sein. Ist man noch nicht angemeldet, wird der LoginDialog angezeigt. Ist man schon angemeldet, kommt man direkt in den PlaylistDialog.
Hat der angemeldete benutzer schon playlist bei YouTube angelegt, werden diese in diesem dialog aufgelistet. Nach auswahl einer playlist und druecken von <OK> werden die zu dieser playlist gehoerenden videos im MovieScreen aufgelistet.
Im Playlist Dialog hat der angemeldete benutzer aber auch die moeglichkeit weitere playlists anzulegen aber auch playlists zu loeschen. Diese aktivitaeten sollten selbsterklaerend sein.
Favorites:
Fuer den Favorites Dialog gilt das selbe, was auch fuer den Playlists Dialog gilt - man muss bei YouTube angemeldet sein um die favorites nutzen zu koennen. Ist man noch nicht angemeldet erscheint der LoginDialog. Ist man schon bei YouTube angemeldet werden die als favorites gekennzeichneten movies im MovieScreen angezeigt.
Login Dialog:
Im Login Dialog kann man mehrere YouTube-Benutzerprofile verwalten. Nach auswahl eines benutzerprofiles und drucken von <OK> wird der ausgewaehlte benutzer bei YouTube angemeldet. Dannach ist die benutzung der playlists und der favorites moeglich.
Die anmeldung bei YouTube ist fuer die weitere YouTube-Player-Sitzung gueltig. Beendet man den YouTube-Player wird man wieder ausgelogged. Bei einem neuerlichen aufruf des YouTube-Players muss man sich wieder neu anmelden.
Ein neues benutzerprofil kann durch druecken von <gruen> angelegt werden. Im darauf erscheinenden User-Edit-Dialog kann der Profile-Name frei gewaehlt werden. Unter E-Mail Address und Password sind die zugangsdaten des mit einem YouTube-Account verknuepften Google-Accounts einzugeben.
Movie Screen:
Im MovieScreen werden die von YouTube angeforderten movies aufgelistet. Nach auswahl eines videos und druecken von <OK> wird dieses video abgespielt.
Zu jedem movie gehoert ein ContextMenu, das durch druecken von <menu> angezeigt wird.
Weiters kann durch druecken von <info> weiterfuehrende informationen, screenshots und statistische deteils des aktuellen videos angezeigt werden.
Scrollt man im MovieScreen an das ende der liste und versucht dannach durch drucken von <down> oder <right> noch weiter nach unten zu gelangen, wird man gefragt, ob man weitere videos des aktuellen feeds von YouTube abrufen moechte.
Der MovieScreen besitzt auch eine "history" funktionalitaet. Hat man durch mehrere feeds navigiert (ueber z.b. "Related Videos" oder "Video Responses" des ContextMenus) kann man mittels der bouquet-tasten in dieser history "blaettern"
Waerend des abspielen eines Videos:
Waerend des abspielen eines videos, kann, wie im MovieScreen, durch druecken von <menu> das ContextMenu aufgerufen werden und durch druecken von <info> die weiterfuehrenden informationen angezeigt werden.
Durch <Pfeil-rechts> und <Pfeil-links> des ziffenblocks der fernbedienung kann, ohne wieder in den MovieScreen wechseln zu muessen, das naechsts/vorherige video des aktuellen feeds gestartet werden.
Context Menu:
Ueber das ContextMenu eines videos kann das video zu den favorites oder einer playlist hinzugefuegt werden. Ist das video schon den favorites oder einer playlist zugeordnet, kann diese zugehoerigkeit wieder aufgehoben werden.
Weiters koennen weiterfuehrende feeds dieses videos von YouTube abgerufen werden.
So, diese anleitung ist ganz sicher nicht vollstaendig und warscheinlich auch ueberhaupt nicht verstaendlich geschrieben. Trotzdem wuensche ich euch mal viel spass beim YouTuben.
Auch moechte ich anmerken, dass die version 0.2 noch ausdruecklich im beta-stadium ist. Und wie es bei einem projekt dieser groesse so ist, wird es sicher noch an allen ecken und enden hacken und abstuerze wirds sicher auch so manche geben.
Bitte bei bug-meldungen unbedingt den dump von enigma2 mit posten.
lg
voc
Update: 2.7.2008
Version 0.1-r1 streamt die movies nun in maximaler YouTube-qualitaet (siehe hier fuer mehr):
- Video: 480x360, Codec h.264
- Audio: 44.1kHz, 128 kbps, Stereo, Codec AAC
In zukuenftigen versionen wird die movie-qualitaet einstellbar sein.
Dieses movie-format kann vom vlc besser transcodiert werden. Ich habe nun gute ergebnisse mit folgenden einstellungen erzielt:
Video: 704x288 (mein rechner ist zu schwach fuer eine hoehere aufloesung)
Audio: MP2, 44.1kHz
-------------------------------------------------
Damit der YouTube-Player funktioniert, muessen folgende packages installiert sein:
- Der aktuellste VlcPlayer version 2.6cvs20080701-r2 von hier
- Die gdata.py-bibliothek, aus diesem posting und
- twisted-web_2.5.0-r0, das sich, sollte es noch nicht installiert sein, einfach durchQuote
ipkg update
und
Quoteipkg install twisted-web
installieren laesst.
Die bedienung sollte eigentlich selbst erklaerend sein:
Voraussetzung ist, dass im VlcPlayer plugin zumindest ein VlcServer definiert ist. Dieser sollte bei audio auf mp1 und 48000Hz samplerate eingestellt sein. Das video-format sollte 352x288 sein.
Gleich beim starten des plugins wird man aufgefordert einen suchbegriff (oder mehrere durch leerzeichen getrennt) anzugeben. Dannach wird eine liste angezeigt, die sich, je nach internet-bandbreite, schneller oder etwas langsamer mit gefundenen movies fuellt.
Dannach hat man zwei moeglichkeiten:
[list=1]
[*]Entweder waehlt man ein movie aus der liste aus und drueckt OK - dann kommt beim ersten mal eine liste von moeglichen VlcServern aus der man einen waehlen muss - danach startet sofort das ausgewaehlte movie.
[*]Oder man waehlt mit der roten taste direkt einen VlcServer. Danach kann man ein movie auswaehlen.
[/list=1] Egal wie man es macht - der gewaehlte VlcServer bleibt solange gespeichert (auch ueber einen neustart des plugins hinaus), bis man mit der roten taste einen neuen VlcServer waehlt.
Ein wort zur video/audio qualitaet:
[list=1]
[*]Es kann sein, dass das bild am anfang "gruenstichig" ist. Scheinbar verpasst der VLC den ersten I-frame. Nach ein paar sekunden, sobald ein weiterer I-frame im stream ankommt, wird das bild korrekt angezeigt. Dieses verhalten zeigt der VLC auch bei direkter ausgabe am PC.
[*]Der ton hat (zumindest bei mir - getestet mit einem VLC unter Linux und Windows) einige hacker drinnen. Das duerfte (leider) an der art wie der VLC den ton transcodiert liegen.
[/list=1]
Einschraenkungen:
Die aktuelle version bietet sehr wenige features - es werden nur max. 20 movies in der liste angezeigt und auch sonst geht noch nichts. Dies wird sich in weiterer folge schrittweise bessern.
Viel spass beim testen! Fuer weiterfuehrende anregungen und wuensche bin ich, wie immer, offen!
lg
voc