Как скачивать превью с видео

Как скачивать превью с видео

Созданные страницы должны выводиться плиткой, с показом картинки от видео, причем, со своего сервера — чтобы не ждать ответа от удалённого. Задача осложняется тем, что существует минимум 8 вариантов указания ссылок на эти 3 сервиса: Это всё ссылки на один и тот же клип Rammstein — Mein Herz brennt (Piano Version). Не стоит забывать еще и про юзеров, которые обязательно вставят в форму "ссылку для блога", то есть — прям тег iframe со всеми свойствами, который отдаст сервис.

Вот исходный код моего класса, пользуйтесь на здоровье. Он абсолютно самодостаточен и не завязан на MODX, требуется только cUrl.

В ответ приходит массив содержащий или ключ error с ошибкой, или ключи со ссылками image и video. Если картинку достать не получается — будет подставлен дефолтный url. Все ссылки на видео-хостинги приводятся к единому виду.

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

Пример использования: Отправите ссылку через $_GET и в ответ получите массив с результатом и картинку в указанной директории.

Обновлено 17.08.13

    09 декабря 2012, 08:44 Василий Наумкин 10353

Комментарии ( )

Вот варианты ссылок, которые я нашел для YouTube.

Регулярка простая: Но у меня по проекту условие, что один урл в одной строке, поэтому где-то может не работать.

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

Не понятно, что делает этот сниппет? Зачем он и выставляет плейсхолдеры, и возвращает url картинкивидео?

Читайте также:  Как использовать aircrack ng

У меня, например, через форму отправлялся урл, для него получалась картинка и сохранялась на сервер, записывая свой адрес в ТВ ресурса. Ну а потом уже обычный вывод страниц, через getResources, с этими картинками.

А тут какая задача?

У меня задача: есть раздел с мастерклассами, они в частности состоят из видео и тестового описания. Т.е. надо выводить видео с ютубы на самой странице и картинку в анонсе, для завлекухи.
Сниппет я обозвал getVideo, он из TV получает ссылку на ютубное видео.
Сниппет сохраняет резултаты в плейсхолдеры, что бы удобнее было на странице/в шаблоне пользоваться этими результатами.
В разделе выводится листинг анонсов. При этом случился трабл: почему то при вызове сниппета в чанке анонса картинка выставлялась только для первого анонса, а для всех последующих — назначалась картинка последнего поста. Т.е. плейсхолдеры закешировались, хотя я и вызывал плейсхолдер некешируемо — [[!+v.image]] и сам сниппет тоже [[!getVideo?url=`[[+tv.studioVideo]]`]]
Потому я сделал так, что бы сниппет мог возращать требуемое значение, а не сохранять его в плейсхолдер. Теперь вызов в чанке делается так: и всё заработало.

Выходит, у тебя каждый раз запускается сниппет, обрабатывает ссылку и потом клиент тянет картинку с youtube?

При том, что сниппет, на самом деле, сохраняет эти картинки на твой сервер. В общем, я бы добавил ТВ studioImage и переделал так:

Пишем сниппет, getImage:

Таким образом, класс videoThumb инициализируется только раз и сниппет запускается только на те записи, у которых нет ТВ с картинкой. Ну а картинки потом получаются с твоего сервера. Так быстрее и логичнее.

Писал в браузере, не проверял — могут быть опечатки.

Ссылка на основную публикацию
Как сделать кроссворд в ворде 2010
Пользоваться файлами, созданными в MS Office, можно как угодно: открыть документ Ворд онлайн, составить в Экселе квартальный отчёт или в...
Как поставить старую версию скайпа
Программа Skype, как и любой другой активно развивающийся софт, постоянно обновляется. Однако не всегда новые версии выглядят и работают лучше...
Как поставить фотографию на контакт в андроид
На любом смартфоне реализована возможность установки изображения на телефонный контакт. Оно будет отображаться при поступлении входящих звонков от этого контакта...
Как сделать местный разрез
Основным назначением видов является определение формы внешних поверхностей предмета. Выявление на видах формы внутренних поверхностей при помощи штриховых линий не...
Adblock detector