Wymuś wideo YouTube HTML5


119

Jeśli chodzi o blog API YouTube , eksperymentują z nowym odtwarzaczem wideo HTML5 .

Najwyraźniej, aby odtworzyć wideo w html5, musisz użyć kodu osadzania iframe:

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

Ale jeśli klient nie dołączył do wersji próbnej HTML5 , odtwarzacz automatycznie powróci do odtwarzacza Flash, nawet jeśli przeglądarka klienta obsługuje wideo HTML5.

Jak wymusić odtwarzanie wideo HTML5, jeśli przeglądarka to obsługuje, nawet jeśli użytkownicy nie są jeszcze zaangażowani w wersję próbną HTML5?

W przeciwnym razie jak wyłączyć rezerwę flash?

EDYTOWAĆ:

Możliwe jest wymuszenie na odtwarzaczu HTML linków do YouTube Video , ale potrzebuję tego rodzaju funkcji dla osadzonych filmów.


Co by było, gdybyś wykrył możliwości HTML5 za pomocą js i odpowiednio zaimplementował kod API YouTube. Lub powinienem powiedzieć, że jeśli wideo HTML5 nie jest obsługiwane, nie implementuj interfejsu API YouTube, ponieważ skorzystałby z Flasha.
— David Hobs

Odpowiedzi:


179

Znalazłem rozwiązanie:

Musisz dodać html5=1w atrybucie src elementu iframe:

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

Film zostanie wyświetlony w formacie HTML5, jeśli jest dostępny, lub w zastępstwie do odtwarzacza Flash.


1
hmm - teraz to nie działa (te same filmy), dziwne. Zastanawiam się, czy działa tylko na niektórych serwerach YouTube?
— UpTheCreek

1
Nie działa podczas dodawania &html5=1na końcu
— nieza

1
Dodanie &html5=1(lub &html5=trueczegoś podobnego) na końcu hiperłącza (nie wideo osadzonego w ramce iframe) nie działa w przeglądarce IE bez Flash.
— Ryan,

1
Filmy z YouTube z reklamami będą automatycznie używać odtwarzacza Flash
— włącz

8
Myślę, że wszystkie raporty są stronnicze. Nikt nie powiedział, czy jest w "html5 beta youtube" i to jest prawdopodobnie kluczowy czynnik. Kiedy opuszczam wersję beta html5, wydaje się, że? Html5 = 1 nic nie robi. Każdy film jest wyposażony w flash.
— Paul Brewczyński 13.07.13

20

To, czy filmy z YouTube są odtwarzane w formacie HTML5, zależy od ustawienia na https://www.youtube.com/html5 dla przeglądarki. Chrome preferuje odtwarzanie HTML5 automatycznie, ale nawet najnowsze Firefox i Internet Explorer nadal używają Flasha, jeśli jest zainstalowany na komputerze.

Parametr html5 = 1 teraz nic (już) nie robi. (Zauważ, że nie jest nawet wymieniony na https://developers.google.com/youtube/player_parameters .)


Właśnie zaznaczone, wybrałem odtwarzacz HTML5 na youtube.com/html5 , ale jeśli & html5 = 1 nie jest określony jako parametr odtwarzacza umieszczonego na stronie, flash jest ładowany, gdy określę parametr odtwarzacza HTML5 jest ładowany. System operacyjny: Linux, Firefox 33 64-bitowy.
— Czar

Właśnie przetestowałem html5=1przeglądarkę Firefox 33.0.2 i działa dobrze (i nie wymaga, aby użytkownicy włączali ustawienie HTML5 na YouTube). Bez tego YouTube domyślnie wysyła wersję Flash.
— Simon East

Parametr nadal działa, ale włączenie go na stronie html5 powoduje, że youtube domyślnie ma html5, co jest lepsze.
— alanh

4

Próbowałem użyć kodu osadzania iframe i pojawił się odtwarzacz HTML5, jednak z jakiegoś powodu iframe całkowicie zepsuło moją witrynę.

Bawiłem się starym kodem osadzania obiektów i działa on doskonale. Więc jeśli masz problemy z iframe, oto kod, którego użyłem:

<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>

mam nadzieję, że to komuś się przyda


YouTube <object>jest wycofywany z końcem stycznia. Użyj <iframe>zamiast tego.
— Samuel Elh

<object>nadal działa, w rzeczywistości element iframe po prostu go zawiera.
— RozzA

2

Jeśli korzystasz z interfejsu API osadzania iframe, możesz podać html5:1jeden z playerVarsargumentów, na przykład:

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

Całkowicie działa.


0

Znacznik wbudowany służy do dodawania kolejnego źródła dokumentu do aktualnego elementu HTML.

W Twoim przypadku film z youtube i musimy określić typ html (4 lub 5) do przeglądarki zewnętrznie do linku

więc dodaj? html = 5 na końcu linku .. :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.