Форсировать HTML5 видео на YouTube


119

Что касается блога Youtube API, они экспериментируют со своим новым видеоплеером HTML5 .

Очевидно, чтобы воспроизвести видео в html5, вам нужно использовать код встраивания iframe:

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

Но если клиент не присоединился к пробной версии HTML5 , проигрыватель автоматически переключится на флэш-проигрыватель, даже если браузер клиента поддерживает видео HTML5.

Как принудительно воспроизвести видео HTML5, если браузер поддерживает это, даже если пользователи еще не участвуют в пробной версии HTML5?

Иначе как отключить флеш-откат?

РЕДАКТИРОВАТЬ:

Можно заставить HTML-плеер использовать ссылки на Youtube Video , но мне нужна такая функция для встроенных видео.


Что, если бы вы могли определить возможности HTML5 с помощью js и соответствующим образом реализовать код API YouTube. Или я должен сказать, что если HTML5 Video не поддерживается, не реализуйте youtube api, поскольку он прибегает к Flash.
Дэвид Хобс

Ответы:


179

Я нашел решение:

Вы должны добавить html5=1в атрибут src iframe:

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

Видео будет отображаться в формате HTML5, если доступно, или во флэш-плеере.


1
хм - теперь не работает (те же ролики), странно. Интересно, работает ли он только на определенных серверах YouTube?
UpTheCreek 03

1
Не работает при добавлении &html5=1в конец невстроенного видео: /
Моше Рева,

1
Добавление &html5=1(или &html5=trueчто-то подобное) в конец гиперссылки (не встроенное видео iframe), похоже, не работает в IE без Flash.
Райан

1
В видеороликах YouTube с рекламой будет автоматически использоваться проигрыватель Flash
вернётся

8
Я думаю, что все сообщения необъективны. Никто не сказал, находится ли он в "бета-версии html5 YouTube", и это, вероятно, ключевой фактор. Когда я выхожу из бета-версии html5, кажется, что? Html5 = 1 ничего не делает. Каждое видео идет со вспышкой.
Paul Brewczynski

20

Воспроизведение видео YouTube в формате HTML5 зависит от настройки на https://www.youtube.com/html5 для каждого браузера. Chrome предпочитает автоматическое воспроизведение HTML5, но даже последние версии Firefox и Internet Explorer по-прежнему используют Flash, если он установлен на компьютере.

Параметр html5 = 1 сейчас (больше) ничего не делает. (Обратите внимание, что его даже нет в списке https://developers.google.com/youtube/player_parameters .)


Только что проверил, я выбрал проигрыватель HTML5 в youtube.com/html5 , но если & html5 = 1 не указан в качестве параметра для встроенного проигрывателя, flash загружается, когда я указываю параметр HTML5 player загружается. ОС: Linux, Firefox 33 64бит.
Царь

Я только что протестировал html5=1Firefox 33.0.2, и он работает хорошо (и не требует, чтобы пользователи включали настройку HTML5 на YouTube). Без него YouTube по умолчанию отправляет версию Flash.
Саймон Ист

Параметр по-прежнему работает, но включение его на странице html5 делает youtube по умолчанию на html5, что лучше.
alanh

4

Я пробовал использовать код для встраивания iframe, и появился проигрыватель HTML5, однако по какой-то причине iframe полностью ломал мой сайт.

Я испортил старый код встраивания объектов, и он отлично работает. Итак, если у вас проблемы с iframe, вот код, который я использовал:

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

надеюсь, это будет полезно для кого-то


YouTube <object>больше не поддерживается с конца января. <iframe>Вместо этого используйте .
Самуэль Эльх

<object>все еще работает, на самом деле iframe просто содержит его.
RozzA

2

Если вы используете api для встраивания iframe, вы можете указать в html5:1качестве одного из playerVarsаргументов, например:

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

Полностью работает.


0

Встроенный тег используется для добавления еще одного источника документа к текущему элементу html.

В вашем случае видео с YouTube, и нам нужно указать тип html (4 или 5) для браузера извне по ссылке

так что добавьте? html = 5 в конец ссылки .. :)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.