Принудительно встраивать видео в HTML5 из ​​Vimeo

Я пытаюсь встроить видео Vimeo и заставить его использовать HTML5 по умолчанию.

Вот ветка о том, что я делаю то же самое, но с YouTube.

Вот еще одна тема, говорящая о получении файла cookie Vimeo HTML5

Вот обсуждение проблемы на сайте Vimeo. По сути, я бы делал это в ответ на предпочтения пользователя на моем сайте, поэтому их опасения на самом деле не актуальны.

Кто-нибудь знает обходной путь или способ принудительного встраивания HTML5 Vimeo, даже если Flash доступен? (Я знаю, что файл cookie должен работать в Safari, но у меня много пользователей Chrome.)

Спасибо.


person Nick    schedule 12.09.2012    source источник
comment
Vimeo изменил свой код внедрения на HTML5 по умолчанию, когда я его тестирую. Он по-прежнему возвращается к Flash в Firefox, но Safari и Chrome получают HTML5, как и должно быть. Больше никаких хаков!   -  person Nick    schedule 07.04.2015


Ответы (2)


В настоящее время нет возможности принудительно использовать HTML5 с помощью встроенного скрипта. «Универсальный проигрыватель» автоматически выбирает формат в зависимости от устройства.

Старый способ встраивания позволяет принудительно использовать Flash, но это единственный вариант.

Будем надеяться на такой вариант в будущем.

person miketucker    schedule 23.11.2012
comment
Vimeo, кажется, недавно изменил свой код внедрения на HTML5 по умолчанию, когда я его тестирую. Он по-прежнему возвращается к Flash в Firefox, но Safari и Chrome получают HTML5, как и должно быть. Так что больше никаких хаков! - person Nick; 13.10.2013

В браузере с флэш-памятью проигрыватель загружается в режиме html5 со следующим кодом. Песочница предотвращает доступ iframe к любым плагинам, включая flash.

<iframe sandbox="allow-same-origin allow-scripts allow-popups"
  id="foo" width="100%" height="90%"
  allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen="" 
  src="http://player.vimeo.com/video/28544156?api=1">
</iframe>

Чтобы разрешить кнопке vimeo открывать веб-страницу vimeo для видео, вам необходимо разрешение «allow-popups». Воспроизведение видео не требуется.

Изменить: добавление полного примера

Если бы у вас был только черный вид, возможно, что размер видео был нулевым, потому что у меня был iframe, настроенный для заполнения родительского элемента шириной 100%, но если бы родительский элемент был уменьшен, чтобы соответствовать, этот размер все равно был бы равен нулю. Вот целая веб-страница с CSS, чтобы видео занимало большую часть страницы. Кроме того, -webkit-transform будет зеркально отображать видео, а затем немного повернуть его. Если бы он отображался во флэш-памяти, это привело бы к черному экрану, поскольку он вообще не может обрабатывать вращения. С тех пор я обнаружил, что это, вероятно, вообще не будет работать в firefox, потому что он изначально не поддерживает h.264, который является всем, что обслуживает vimeo, и отключение плагинов отключит любой плагин, который заставляет h.264 работать в firefox.

<!DOCTYPE html>
<html>
  <head>
    <style>
div {
  display: inline-block;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
  position: absolute;
}
iframe {
  -webkit-transform: scaleX(-1) rotate(2deg);
}
    </style>
  </head>
  <body>
    <div>
      <iframe sandbox="allow-same-origin allow-scripts allow-popups"
        id="foo" width="100%" height="90%"
        allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen="" 
        src="http://player.vimeo.com/video/28544156?api=1">
      </iframe>
    </div>
  </body>
</html>
person teknotus    schedule 26.08.2013
comment
teknotus, это интересное решение с технической точки зрения. Однако приведенный выше код не работает у меня при тестировании (в настоящее время): вместо встроенного видео я просто получаю черный ящик. Я использую Chrome 30 без включенных расширений и разрешенных всех всплывающих окон. Эта конфигурация вам подходит? - person Nick; 27.08.2013
comment
@ nickv2002 Я добавил к своему ответу целый html-файл, который только что протестировал. Надеюсь, это поможет. Извините, я не ответил ранее, уведомление о сообщении в stackoverflow было слишком тонким, и я даже не видел его больше месяца. - person teknotus; 11.10.2013
comment
Между моментом вашего моего комментария и вашего последующего сообщения Vimeo, похоже, изменил свой код ebed на HTML5 по умолчанию, когда я его тестирую. Он по-прежнему возвращается к Flash в Firefox, но Safari и Chrome получают HTML5. Так что больше никаких хаков! - person Nick; 13.10.2013