HTML5-YouTube-Video erzwingen

119

In Bezug auf den Youtube API Blog experimentieren sie mit ihrem neuen HTML5 Video Player.

Anscheinend müssen Sie zum Abspielen eines Videos in HTML5 den iframe-Einbettungscode verwenden:

<iframe class="youtube-player" type="text/html" width="640" height="385"
  src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0">
</iframe>

Wenn der Client jedoch nicht an der HTML5-Testversion teilgenommen hat, greift der Player automatisch auf den Flash Player zurück, auch wenn der Browser des Clients HTML5-Video-fähig ist.

Wie erzwinge ich die HTML5-Videowiedergabe, wenn der Browser dies unterstützt, auch wenn die Benutzer noch nicht an der HTML5-Testversion beteiligt sind?

Wie kann ich sonst den Flash-Fallback deaktivieren?

BEARBEITEN:

Es ist möglich, den HTML-Player über Links zu Youtube-Videos zu erzwingen , aber ich benötige diese Funktion für eingebettete Videos.

Kami
quelle
Was wäre, wenn Sie die HTML5-Fähigkeit mit js erkennen und den YouTube-API-Code entsprechend implementieren würden? Oder ich sollte sagen, wenn HTML5-Video nicht unterstützt wird, implementieren Sie die YouTube-API nicht, da sie auf Flash zurückgreifen würde.
David Hobs

Antworten:

179

Ich habe die Lösung gefunden:

Sie müssen html5=1das Attribut src des iframe hinzufügen :

<iframe src="http://www.youtube.com/embed/dP15zlyra3c?html5=1"></iframe>

Das Video wird als HTML5 angezeigt, falls verfügbar, oder als Flashback in den Flash Player.

Kami
quelle
1
hmm - jetzt funktioniert es nicht (gleiche Videos), komisch. Ich frage mich, ob es nur auf bestimmten YouTube-Servern funktioniert?
UpTheCreek
1
Funktioniert nicht, wenn &html5=1am Ende eines nicht eingebetteten Videos
Folgendes
1
Das Hinzufügen &html5=1(oder &html5=trueähnliches) am Ende eines Hyperlinks (kein eingebettetes iframe-Video) scheint im IE ohne Flash nicht zu funktionieren.
Ryan
1
YouTube-Videos mit Werbung verwenden automatisch den Flash-Player
gedreht am
8
Ich denke, alle Berichte sind voreingenommen. Niemand hat gesagt, ob er / sie in "HTML5 Beta von Youtube" ist und dies ist wahrscheinlich ein Schlüsselfaktor. Wenn ich die html5-Beta verlasse, scheint es, dass? Html5 = 1 nichts tut. Jedes Video geht mit Blitz.
Paul Brewczynski
20

Ob YouTube-Videos im HTML5-Format abgespielt werden, hängt von der Einstellung unter https://www.youtube.com/html5 pro Browser ab. Chrome bevorzugt die automatische HTML5-Wiedergabe, aber selbst die neuesten Versionen von Firefox und Internet Explorer verwenden weiterhin Flash, wenn es auf dem Computer installiert ist.

Der Parameter html5 = 1 macht jetzt (mehr) nichts mehr. (Beachten Sie, dass es nicht einmal unter https://developers.google.com/youtube/player_parameters aufgeführt ist .)

Vacilando
quelle
Gerade überprüft, habe ich den HTML5-Player in youtube.com/html5 ausgewählt , aber wenn & html5 = 1 nicht als Parameter für den eingebetteten Player angegeben ist, wird Flash geladen, wenn ich den Parameter HTML5-Player lade. Betriebssystem: Linux, Firefox 33 64bit.
Zar
Ich habe gerade html5=1in Firefox 33.0.2 getestet und es funktioniert gut (und erfordert nicht, dass Benutzer die HTML5-Einstellung auf YouTube aktivieren). Ohne sie sendet YouTube standardmäßig die Flash-Version.
Simon East
Der Parameter funktioniert immer noch, aber wenn Sie ihn auf der HTML5-Seite aktivieren, wird YouTube standardmäßig auf HTML5 eingestellt, was besser ist.
Alanh
4

Ich habe versucht, den iframe-Einbettungscode zu verwenden, und der HTML5-Player wurde angezeigt. Aus irgendeinem Grund hat der iframe meine Website jedoch vollständig beschädigt.

Ich habe mit dem alten Objekt-Einbettungscode herumgespielt und er funktioniert einwandfrei. Wenn Sie also Probleme mit dem Iframe haben, ist hier der Code, den ich verwendet habe:

<object width="640" height="360">
<param name="movie" value="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3"/>
<param name="allowFullScreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<embed width="640" height="360" src="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3" class="youtube-player" type="text/html" allowscriptaccess="always" allowfullscreen="true"/>
</object>

hoffe, das ist nützlich für jemanden

Alejandro
quelle
YouTube <object>ist ab Ende Januar veraltet . Verwenden Sie <iframe>stattdessen.
Samuel Elh
<object>funktioniert immer noch, in der Tat enthält der Iframe es nur.
RozzA
2

Wenn Sie die iframe-Einbettungs-API verwenden, können Sie html5:1wie folgt eines der playerVarsArgumente einfügen:

player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: '<VIDEO ID>',
    playerVars: {
        html5: 1
    },
});

Funktioniert total.

Samson
quelle
0

Das Inline-Tag wird verwendet, um dem aktuellen HTML-Element einen weiteren Quellcode hinzuzufügen.

In deinem Fall ein Video von einem Youtube und wir müssen den HTML-Typ (4 oder 5) für den Browser außerhalb des Links angeben

also füge? html = 5 am Ende des Links hinzu .. :)

ashwinrishipj
quelle