Принудите эскизы высокого качества для YouTube - PullRequest
21 голосов
/ 29 января 2012

Есть ли способ заставить высококачественный THUMBNAIL для YouTube?

Мои видео имеют очень высокое качество, и как только они начинают потоковую передачу, они нормально работают в формате 720p, однако миниатюра для видео имеет переменное качество - иногда оно высокое, а иногда действительно размытое.

Есть ли способ заставить миниатюру высокого качества? Я нашел это в документации по API - http://code.google.com/apis/youtube/2.0/reference.html#youtube%5Fdata%5Fapi%5Ftag%5Fmedia:thumbnail, но в нем не описано, как использовать тег мультимедиа.

Ответы [ 5 ]

22 голосов
/ 30 января 2012

Существует также версия "maxres", которая представляет собой изображение "full hd" в случае, если разрешение видео достаточно высокое.

http://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg

Однако, если разрешение видео не высокоедостаточно, это изображение не создается.Таким образом, вы можете захотеть иметь функцию, которая показывает версию более низкого качества в случае, если версия «maxres» не существует.

Проверьте Как получить миниатюру видео YouTube из API YouTube? для получения дополнительной информации.

4 голосов
/ 29 марта 2013

Пример:

http://img.youtube.com/vi/xjFouf6j81g/hqdefault.jpg

где xjFouf6j81g, видеоид

4 голосов
/ 10 августа 2012

Спасибо, Йохан за ответ.

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]);
                                    }
                                }
                            }
                        }
                    });
0 голосов
/ 26 декабря 2015

О проблеме сообщалось здесь:
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 в ширину.

Таким образом, рекомендуемый минимальный размер для идеального формата 16: 9 будет 432 x 243 pixels, и это должно получить симпатичный эскиз.

0 голосов
/ 29 января 2012

Насколько я знаю, 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 позволяет вам повысить качество видео, но я не знаю, повлияет ли это на предварительный просмотр видео. См. документы для получения дополнительной информации.

...