Высокие миниатюры для YouTube
Есть ли способ заставить высокое качество THUMBNAIL для YouTube?
Мои видео имеют очень высокое качество, и как только они начинают работать в потоковом режиме, они отлично работают в 720p, однако миниатюра для видео имеет переменное качество - иногда оно высокое, в других случаях оно действительно размыто.
Есть ли способ форсировать миниатюру высокого качества? Я нашел это в документах API - http://code.google.com/apis/youtube/2.0/reference.html#youtube%5Fdata%5Fapi%5Ftag%5Fmedia:thumbnail, но в нем не указано, как использовать тег мультимедиа.
Ответы
Ответ 1
Существует также версия "maxres", которая является "полным hd" изображением в случае, если разрешение видео достаточно высокое.
http://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
Однако, если разрешение видео недостаточно высоко, это изображение не создается. Таким образом, вы можете захотеть иметь функцию, которая показывает версию более низкого качества, если версия "maxres" не существует.
Отъезд Как получить миниатюру видео YouTube из API YouTube? для получения дополнительной информации.
Ответ 2
Спасибо, Йохан за ответ.
http://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
Если вы также хотите установить воспроизведение в HQ, используйте Javascript API
https://developers.google.com/youtube/js_api_reference?hl=fi-FI#Playback_quality
var qualityLevels = self.players[iframeID].getAvailableQualityLevels();
/* Set highest quality */
self.players[iframeID].setPlaybackQuality(qualityLevels[0]);
Чтобы это сработало, сначала нужно вызвать:
self.players[iframeID].playVideo();
Затем он будет запускать
self.players[iframeID] = new YT.Player(iframeID, {
events: {
'onReady': function(event) {
var iframe = $(event.target.getIframe());
self.players[iframe.attr('id')].loaded = true;
},
'onStateChange': function(event) {
var iframe = $(event.target.getIframe());
var iframeID = iframe.attr('id');
if(event.data == 1) /* playing */
{
var qualityLevels = self.players[iframeID].getAvailableQualityLevels();
if(self.players[iframeID].getPlaybackQuality() != qualityLevels[0])
{
/* Set highest quality */
self.players[iframeID].setPlaybackQuality(qualityLevels[0]);
}
}
}
}
});
Ответ 3
Пример:
http://img.youtube.com/vi/xjFouf6j81g/hqdefault.jpg
где xjFouf6j81g, videoid
Ответ 4
Об этом сообщается здесь:
https://code.google.com/p/gdata-issues/issues/detail?can=2&start=0&num=100&q=&colspec=API%20ID%20Type%20Status%20Priority%20Stars%20Summary&groupby=&sort=&id=4590
Не исправление или обходной путь, но если вы хотите избежать миниатюры с низким разрешением, ваш плеер должен быть больше 430px
wide.
Итак, предложенный минимальный размер для идеального аспекта 16: 9 будет 432 x 243 pixels
, и это должно получиться красивым миниатюром.
Ответ 5
Насколько я знаю, YouTube предлагает только 4 эскиза:
http://i.ytimg.com/vi/VIDEO_ID/default.jpg
http://i.ytimg.com/vi/VIDEO_ID/1.jpg
http://i.ytimg.com/vi/VIDEO_ID/2.jpg
http://i.ytimg.com/vi/VIDEO_ID/3.jpg
Эскизы создаются один раз после загрузки, поэтому вы не можете каким-либо образом изменить их размер.
Edit:
YouTube JS API позволяет вам повысить качество видео, но я не знаю, повлияет ли это на предварительный просмотр видео. Подробнее см. docs.