Подтвердить что ты не робот

Миниатюра YouTube не работает во всех случаях

Приложение, над которым я работаю, должно получить миниатюры YouTube HQ с указанным URL. Используя этот ответ, я попытался использовать maxresdefault.jpg чтобы получить максимальное разрешение миниатюры, но на некоторых видео (казалось бы, случайных) запрос 404.

Вот некоторые примеры:

Используя те же URL-адреса, другие запросы, использующие те же ключи видео, работают:

Почему maxresdefault.jpg надежно не возвращает изображение? Оба эти видео являются общедоступными и могут быть встроены.

Я бы использовал 0.jpg но у него есть черные полосы сверху и снизу изображения.

4b9b3361

Ответ 1

Насколько я понимаю, YouTube генерирует кадры только в высоком разрешении для видео высокого разрешения. Первая ссылка была загружена с разрешением не менее 1080p, а вторая менее 720p.

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

Все кадры YouTube представлены в соотношении сторон 4: 3, поэтому всегда будут черные полосы сверху и снизу, если видео 16: 9. В HTML/CSS с этим легко бороться, устанавливая изображение в качестве фона div и подбирая размер div к правильному аспекту.

¹ За исключением фотографий mqdefault.jpg, которые все в формате 16: 9 (320x180)

Ответ 2

Обновление 2015: Ни одна из ваших ссылок "maxresdefault" не работает

Попробуйте следующее:

http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg

Ответ 3

Обновление 2019 ::

https://i.ytimg.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg

Кажется, чтобы вернуть максимально возможное изображение....

1.jpg, 2.jpg, 3.jpg возвращают превью по длине клипа, что также удобно;)