Получить миниатюру для внешнего видео в качестве миниатюры для пользовательского типа поста?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/9929

  •  16-10-2019
  •  | 
  •  

Вопрос

Я видел некоторые другие подобные темы, но все они были для видео на YouTube. Мне было интересно, можно ли сделать то же самое для видео, размещенных на других серверах, таких как Blip. Вот пример видеорочного видео: http://blip.tv/file/4778330

Вот как у меня сейчас есть вещи:

У меня есть пользовательский тип сообщения для видео с мета -ячейкой для SRC (video_src) из кода встроенного вставки, поэтому все, что мне нужно сделать, это ввести SRC, и он отображается из моего single-videos.php Шаблон как это:

<embed src="<?=$video_src?>" type="application/x-shockwave-flash" width="400" height="200" allowscriptaccess="always" allowfullscreen="true" />

Было бы здорово, если бы каким -то образом кадр видео стала фиксацией его поста. Есть идеи о том, как что -то подобное можно сделать?

Это было полезно?

Решение

Вы можете использовать API Blip TV:

http://wiki.blip.tv/index.php/blip.tv_api

Ищите "Как мне найти миниатюру для предмета?" Примеры API можно найти в вики, например, PHP Пример:

include_once("blipPHP.php");
$blipPHP = new blipPHP("username", "password");
$respond = $blipPHP->info(4794325);

Возвращает длинный массив. Внутри этого вы найдете:

[3] => SimpleXMLElement Object
                                    (
                                        [@attributes] => Array
                                            (
                                                [rel] => alternate
                                                [type] => application/rss+xml
                                                [href] => http://blip.tv/rss/4812438
                                            )

                                    )

Теперь позвоните, чтобы получить http://blip.tv/rss/4812438 (Вы можете проверить этот в своем браузере)

И вы можете проанализировать возвращенный контент для Thumanail, как в выражении XPath, данном по мере вы, как вы найдете:

<media:thumbnail url="http://a.images.blip.tv/Oldjewstellingjokes-AdrianeBergPastorFuzz165.jpg"/>

Теперь ... может быть, у вас есть несколько вопросов:

1 Как программировать что -нибудь, чтобы получить URL (URI) в строке?

WordPress предоставляет метод по умолчанию для этого: wp_remote_get: Read: http://codex.wordpress.org/http_api (смотрите также http://core.trac.wordpress.org/ticket/4779)

2 хорошо ... теперь у меня есть веб -сайт в строке, что мне делать с ней?

Что бы вы ни думали, если это то, что не связано с «XML», вы, вероятно, будете использовать Smart REGEX для анализа контента из строки. (См. Рефекс PHP)

Но .... Чтобы сделать вещи более читаемыми для себя, прочитайте строку в DOM, а затем используйте XPath для быстрого сканирования для контента. (См. Google: xpath или php.net: xpath)

$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->strictErrorChecking = false;
if (!$dom->loadHTML($data)) 
{
   foreach (libxml_get_errors() as $error) 
   {
     //     handle errors here
    }
    libxml_clear_errors();      
} 
else
{
   $xpath = new DOMXPath($dom);
   $elements = $xpath->query('/rss/channel/item/media:thumbnail/@url');

Тада! Миниатюра, которую мы нашли:

Другие советы

Суть в том, что, вероятно, нет общего способа сделать это, потому что у каждого сервиса есть свои собственные API и методы и тому подобное.

Если вам нужен более общий метод, вы можете попробовать OEMBED, который поддерживает thumbnail_url Собственность для видео. Многие сайты имеют встроенную поддержку OEMBED, но оооохэмбл или же Вообще Предложите еще много услуг через один и тот же API.

Например, Запрос о вашем видео Возвращает следующую информацию:

{
    "type": "video",
    "version": "1.0",
    "title": "WEBISODE 14 - The Bay - Chapter 4 - Part 2",
    "author_name": "TheBaytheSeries",
    "author_url": "http://TheBaytheSeries.blip.tv",
    "provider_name": "blip.tv",
    "provider_url": "http://blip.tv",
    "width": 720,
    "height": 436,
    "html": "<embed src=\"http://blip.tv/play/AYKk4RQC\" type=\"application/x-shockwave-flash\" width=\"720\" height=\"436\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed>",
    "thumbnail_url": "http://a.images.blip.tv/Thebaytheseries-WEBISODE14TheBayChapter4Part2721.png",
    "thumbnail_width": 720,
    "thumbnail_height": 436 
}

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

Вот два ваших видео/большие пальцы от Blip:

http://blip.tv/file/4778330http://a.images.blip.tv/thebaytheseries-webisode14thebaychapter4part2721-711.jpg

http://blip.tv/file/4690791http://a.images.blip.tv/thebaytheseries-tabaytheseriessomethingsadmusicvideobytedkorsmo777-169.jpg

Так что это выглядит невозможным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top