web-dev-qa-db-fra.com

Générer des miniatures pour la vidéo

J'ai vérifié et lu beaucoup d'articles sur un seul problème qui est beaucoup plus compliqué qu'il n'y parait.

J'ai un site Web qui utilise beaucoup de vidéos prises sur le site Web comme sur Internet ^^ (services tels que youtube, vimeo, videobuzzy, etc.) et nous souhaitons générer à la volée une vignette de la vidéo intégrée.

Chaque service utilise sa propre API, je dois donc adapter le code pour chacun, ce qui est beaucoup trop et je ne pourrais jamais gérer tous les services.

Un serveur web propose quelque chose comme ça: http://embed.ly mais je les ai essayés et, par exemple, les vidéos de videobuzzy ne fonctionnent pas. Donc, c'est une solution partielle.

Une autre solution consisterait à utiliser un service de capture d'écran permettant de demander l'URL de la vidéo, de la restituer, de prendre un instantané et de générer une image. Tentant, mais les résultats ont tendance à ajouter des retards, et je dois trouver un service de capture instantanée et générer le code (bon, cela pourrait être la partie amusante).

Le plus simple serait de prendre une capture d'écran et de créer une image nous-mêmes, puis de la télécharger.

Je préférerais proposer quelque chose de plus convivial mais je n'ai plus d'indice.

Est-ce que quelqu'un a des conseils à ce sujet et est-ce que je comprends bien la photo?

Je vous remercie.

ADDENDUM **

Si je pouvais, au lieu des vignettes, incorporer simplement la vidéo (généralement un iframe) dans une taille spécifique, cela pourrait faire l'affaire ...

15
Simon

Vous pouvez utiliser la fonctionnalité oEmbed intégrée à WordPress. En règle générale, tout hôte vidéo figurant sur cette liste vous retournera une vignette à l’aide de oembed.

Voici une liste des fournisseurs par défaut utilisés par WordPress pour l’intégration automatique dans la zone de contenu. J'ai également inclus des sources non vidéo pour la commodité des autres.

La liste complète des fournisseurs possibles est documentée dans le codex WordPress sous:
Intégrations - Bon, alors à partir de quels sites puis-je intégrer?

Sélectionnez votre fournisseur, puis utilisez ce qui suit pour obtenir vos informations vidéo.

require_once(ABSPATH.'wp-includes/class-oembed.php');
$oembed= new WP_oEmbed;
$url = 'http://www.youtube.com/watch?v=oHg5SJYRHA0';
//As noted in the comments below, you can auto-detect the video provider with the following
$provider = $oembed->discover($url);
//$provider = 'http://www.youtube.com/oembed';
$video = $oembed->fetch($provider, $url, array('width' => 300, 'height' => 175));
$title = $video->title;
$html = $video->html;
$thumb = $video->thumbnail_url;

Je réalise que VideoBuzzy n'est pas sur la liste. Il semble que ce soit un site de diffusion YouTube. Vous devriez leur demander s'ils ont des protocoles incorporés. Si ce n'est pas le cas, vous pouvez enregistrer un gestionnaire non oembed à l'aide de wp_embed_register_handler() .

J'espère que cela t'aides!

19
Brian Fegter

Vous pouvez utiliser ce plugin Wordpress Video Plugin , éditer le code de ce plugin et y ajouter les autres sites.

OR

Vous devez intégrerFFMPEGdans wordpress.

3
Nilay Patel