Den Anfang der API-Reihe macht der YouTube-Player. Der Artikel wird ein wenig länger, weshalb ich ihn in zwei Teile aufgespalten habe. In Part 1 kommt der weniger geekige codelastige Teil mit den Parametern. In zwei Wochen kommt in Part 2 dann der eigentliche API-Inhalt mit selbstgebastelten Bedienelementen für ein Video.
Die Code-Beispiele mit eingebundenen Videos sind eine valide und gekürzte Form dessen, was YouTube zum Rauskopieren anbietet. embed und param name="movie" entfallen, dafür steht der Verweis zum Video in object data="…". Sieht man gleich.
Parameter für das Video
fs (default 0)
Wenn auf 1 gesetzt, lassen sich Videos in den Fullscreen-Modus umschalten. Kopiert man den YouTube-Code, steht es bereits mit drin.
hd (default 0)
Wenn auf 1 gesetzt, wird das Video in HD abgespielt, insofern vorhanden. Es wird nicht automatisch die höchste Auflösung genommen! Ein Video mit 360p und 480p wählt dann nicht die höheren 480p.
iv_load_policy (default 1)
Setzt man den Wert auf 3, werden video annotations nicht angezeigt.
Seit dem 1. Semester Medieninformatik verwenden wir Eclipse für Java-Entwicklung. Jetzt im 3. Semester kam Skriptsprache Python dazu, als IDE wurde uns nur IDLE gezeigt. Mit IDLE bin ich persönlich nicht so recht warm geworden, obwohl die Python Shell davon doch recht praktisch ist für kleinere Programmfetzen. In Hinsicht auf das Eclipse-Subversion-PlugIn wäre es aber doch was Feines, könnte man auch Eclipse verwenden.
Pydev installieren
Mit dem PlugIn Pydev geht das. In Eclipse über die Menüpunkte Help ? Install New Software… gehen. Als URL http://pydev.org/updates eintragen und nach Schema F weiter durchklicken.
Nach meinen Problemen mit Untertiteln im VLC media player hat mir Friedrichin den Kommentaren eine Empfehlung gegeben. Gerade für Leute die Anime schauen eine sehr gute Lösung. Im Vergleich zum VLC läuft es reibungslos, werden Untertitel besser unterstützt und ist selbst die Videoqualität angenehmer, da weicher. Gut, hier die Ausrüstungsschritte:
Combined Community Codec Pack
Für die diversen Formate in denen z.B. ein Video daherkommen kann, braucht man die entsprechenden Codecs. Dafür empfiehlt sich das CCCP (cccp-project.net). Vor der Installation müssen andere Codec Packs entfernet werden; mit Ausnahme von DivX oder XviD. Welche davon betroffen sind bzw. ob überhaupt welche installiert sind, lässt sich mit CCCP Insurgent nachschauen. Das Programm läuft ohne Installation. Aber nicht wahllos Dinge entfernen, bei denen ihr euch unsicher seid. Wenn ihr davor bewusst keine Codec Packs installiert habt, dürftet ihr auch keine angezeigt bekommen. Solltet ihr ein Codec Pack deinstallieren, müsst ihr anschließend neustarten bevor ihr das Neue installiert.
CCCP Insurgent
Media Player Classic
Ist im Download des CCCP als Option mitinbegriffen. Daneben auch der Zoom Player, den ich nicht ausprobiert habe. Also einfach während der Installation ein Häkchen vor Media Player Classic und gut ist. Gegen Ende des Dialogs noch auswählen Reset all settings. [Strg]+[ENTER] = Fullscreen. Enjoy your anime.
VLC media player 0.9.9 ist ein Bugfix-Release mit Decoder-Updates. Besser geworden ist dadurch leider wenig. MKV-Dateien brauchen lange zum Öffnen (die Untertitel sind es wohl mal wieder) und die CPU wird dabei belastet. Das Problem lässt sich scheinbar nur mit einem Wechsel zur vorigen Version 0.9.8 beheben.
Und noch eine Entdeckung: Die eigene Musik muss nach jedem Update neu hinzugefügt werden bzw. die alten preferences and settings – oder wie es heißt – gelöscht werden. Sonst funktioniert die Suche nach Liedtiteln nicht mehr; nur noch Album und Interpret.
Ein altes Problem, das ich hier auch noch mit reinpacke: Wenn sich eine Musikdatei im VLC plötzlich nicht mehr abspielen lässt bzw. eine Länge von 00:00 hat, hilft es die Dateiendung zu entfernen.
Ich mag das VLC-Projekt, aber mittlerweile bin ich im Videobereich auf CCCP + Media Player Classic umgestiegen; eine deutlich(!) bessere Qualität.
Was YouTube einem an Code zum Einbetten gibt, ist weit davon entfernt, valide zu sein. Vermutlich, weil der Anbieter eine höchstmögliche Kompatibilität mit allen Browsern erreichen möchte. Was eigentlich ein Schlag in die Magengrube der Webstandards ist, die für eine einheitliche Darstellung in die Welt gesetzt wurden.
So ähnlich sieht der Code aus, wie YouTube ihn bereitstellt.
Entledigen wir uns erst einmal des embed, indem wir die wichtigen Informationen in das object umsiedeln; aus dem Attribut src wird dabei data; der Rest wird bereits über param übergeben. Embed wurde von Netscape eingeführt und alle Browser haben es aufgegriffen; ein Standard wurde es nie.