J'ai vu d'autres sujets similaires, mais ils étaient tous destinés aux vidéos YouTube. Je me demandais si la même chose pourrait être faite pour les vidéos hébergées sur d'autres serveurs comme blip. Voici un exemple de vidéo blip: http://blip.tv/file/4778330
Voici comment j'ai les choses en place:
J'ai un type de message personnalisé pour les vidéos avec une méta-boîte pour le code source (video_src), de sorte que tout ce que j'ai à faire est d'entrer le code src et il s'affiche dans mon modèle single-videos.php
comme suit:
<embed src="<?=$video_src?>" type="application/x-shockwave-flash" width="400" height="200" allowscriptaccess="always" allowfullscreen="true" />
Ce serait génial si, d'une manière ou d'une autre, une image de la vidéo devenait la vignette en vedette de son message. Avez-vous une idée sur la façon dont une telle chose pourrait être faite?
Vous pouvez utiliser l'API Blip TV:
http://wiki.blip.tv/index.php/Blip.tv_API
Cherchez "Comment trouver la vignette d'un article?" Des exemples de l'API peuvent être trouvés dans le wiki, par exemple. le PHP Exemple:
include_once("blipPHP.php");
$blipPHP = new blipPHP("username", "password");
$respond = $blipPHP->info(4794325);
retourne un tableau LONG. À l'intérieur de cela, vous trouvez:
[3] => SimpleXMLElement Object
(
[@attributes] => Array
(
[rel] => alternate
[type] => application/rss+xml
[href] => http://blip.tv/rss/4812438
)
)
Maintenant, appelez pour obtenir http://blip.tv/rss/4812438 (vous pouvez le vérifier dans votre navigateur)
Et vous pouvez analyser le contenu renvoyé pour le thumnail comme dans l'expression xpath donnée au fur et à mesure que vous trouvez:
<media:thumbnail url="http://a.images.blip.tv/Oldjewstellingjokes-AdrianeBergPastorFuzz165.jpg"/>
Maintenant ... peut-être avez-vous des questions:
WordPress fournit une méthode par défaut pour cela: wp_remote_get: READ: http://codex.wordpress.org/HTTP_API (voir aussi http://core.trac.wordpress.org/ticket/4779 )
Quoi que vous pensiez, s'il s'agissait de choses qui ne sont pas liées à "XML", vous utiliserez probablement regex intelligent pour analyser le contenu de la chaîne. (voir regex php)
Mais .... pour rendre les choses plus lisibles par vous-même, lisez la chaîne dans un DOM puis utilisez XPath pour rechercher rapidement le contenu. (voir google: xpath ou 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');
TADA! la vignette que nous avons trouvée:
En bout de ligne, il n’ya probablement pas de moyen générique de le faire, car chaque service a sa propre API, ses propres méthodes, etc.
Si vous souhaitez une méthode plus générique, vous pouvez essayer oEmbed, qui prend en charge une propriété thumbnail_url
pour les vidéos. De nombreux sites ont un support oEmbed intégré, mais oohEmbed ou Embedly offre de nombreuses plus de services à travers la même API.
Par exemple, la demande oohEmbed de votre vidéo renvoie les informations suivantes:
{
"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
}
Il semblerait que la vignette créée pour chaque vidéo ne ressemble pas à youtube, où vous pouvez utiliser le videoid pour le comprendre.
Voici deux de vos vidéos/vignettes de blip:
http://blip.tv/file/4778330 http://a.images.blip.tv/Thebaytheseries-WEBISODE14TheBayChapter4Part2721-711.jpg
http://blip.tv/file/4690791 http://a.images.blip.tv/Thebaytheseries-THEBAYTheSeriesSOMETHINGSADMusicVideoByTedKorsmo777-169.jpg
Donc, cela ne semble pas possible.