Как добавить высококачественное видео с новым кодом стиля YouTube iframe - PullRequest
22 голосов
/ 15 февраля 2011

Я использую youtubes новый код iframe для встраивания видео, но качество видео кажется ниже, чем если бы я смотрел их на YouTube.Есть ли способ встроить видео высокого качества?

Мой код на данный момент

<iframe title="YouTube video player" width="650" height="390" src="http://www.youtube.com/embed/6X3zUh8RqbY" frameborder="0" allowfullscreen></iframe>

Ответы [ 6 ]

33 голосов
/ 21 января 2013

& vq = hd720 или & vq = hd1080 добились цели, когда все остальное не удалось

5 голосов
/ 04 июля 2013

Следующий код помог мне:

<iframe width="241" height="136" src="https://www.youtube.com/embed/NMG0CMkuUnA?version=3&vq=hd720" frameborder="0" allowfullscreen></iframe>
2 голосов
/ 15 октября 2016

Попробуйте для определенного качества видео ..

144p: & vq = крошечный

240p: & vq = маленький

360p: & vq = средний

480p: & vq = большой

720p: & vq = hd720

пример:

<iframe width="320" height="350" src="http://www.youtube.com/embed/
HeQ39bLsoTI?autoplay=1&cc_load_policy=1&vq=tiny" frameborder="0"
allowfullscreen></iframe>
2 голосов
/ 25 июня 2012

Кроме того, похоже, что YouTube теперь автоматически обеспечивает качество, которое, по его мнению, оптимизировано для размера встраивания, для iframe и AS3, независимо от того, установлен ли параметр HD.

См. этот пост и этот для получения дополнительной информации.

ОБНОВЛЕНИЕ: См. Ответ Джейсона Рено для хорошего метода, который позволяет явно форсировать тип качества. Я попробовал это с проигрывателем, встроенным в HTML5, и он работал как положено.

1 голос
/ 06 июня 2016

Кажется, что ответ меняется со временем. Чтобы взглянуть на мету происходящего, кажется, что есть две общие черты желаемого эффекта.

1) Выможно попробовать и 'взломать' сам код iframe.

2) Вы можете попробовать создать контейнер, чтобы обмануть iframe, думая, что он должен отображать HD.

Давайте сделаем и то, и другое.

[УКАЗАТЕЛЬНЫЙ КОД IFRAME] Возможно, вы можете отредактировать типичную ссылку embed youtube iframe, используя действующие стандарты.Я бы порекомендовал использовать базовый размер, который в любом случае потребовал бы этого размера, и приступил бы ко второму шагу, чтобы изменить его размер.

Просмотрите текущий список, например, список h3xed , чтобы увидеть, как youtube вызывает файлы при внедрении.

Заметим, я нигде не нашел следующий код, я его обнаружил.Мне нужно вызвать видео с разрешением 720. Я искал ответ на этот вопрос, и при просмотре файла я заметил, что в качестве фактической настройки YouTube указано 720p60.Таким образом, я изменил то, что, кажется, работало прежде и достаточно точно ...

<div class="responsive-container" >
   <iframe width="780" height="480"
           src="https://www.youtube.com/embed/DFzUdTUaAr4?rel=0&vq=hd720p60" frameborder="0" allowfullscreen></iframe>
</div>

работал.Обратите внимание, что по сути я добавил ? Rel = 0 & vq = hd720p60 и сделал размер фрейма достаточно большим, чтобы требовать hd.

[СОЗДАНИЕ КОНТЕЙНЕРА] Это работает, потому что выпопросите YouTube получить видео более высокого качества, а затем зайдите за его спиной и измените его размер в соответствии с желаемым пространством.Хотя вы прямо спрашиваете, как встраивать, я предполагаю, что вы просите встраивать когда угодно и где угодно - не ограничиваясь гигантскими видео на странице для файлов высокого качества.

Простой адаптивный контейнер работает хорошо, так какiframes созданы для управления через CSS.Используя код, аналогичный тому, который можно найти в статье then-code-YouTube-Videos-To-Play-In-HD thenewcode , мы создаем код, который ограничивает соотношение сторон ограниченным размером.

.responsive-container {
    position: relative;
    padding-bottom: 53.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.responsive-container,
    .responsive-container iframe {
    max-width: 1280px;
    max-height: 720px;
}
.responsive-container iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
}

* Примечание: код Legacy, код которого &fmt=35, &fmt=22, or &fmt=37, работает на этом этапе для ссылок на видео.Видео YouTube открывается в этом конкретном качестве.

Также обратите внимание, что вы также должны заметить разницу в tdl между видео на YouTube и встроенными видео.Они (из моего опыта) не совместимы.* (youtube.com/embeded ... VS youtu.be/...)

0 голосов
/ 15 февраля 2011

О, я нашел это сейчас, вы должны поставить ?vq=hd720 в конце URL, вот так:

<iframe title="YouTube video player" width="650" height="390" src="http://www.youtube.com/embed/6X3zUh8RqbY?vq=hd720" frameborder="0" allowfullscreen></iframe>
...