Existe-t-il un moyen dans PHP étant donné un fichier vidéo (.mov
, .mp4
) pour générer un aperçu de l'image miniature?
Jetez un oeil à http://ffmpeg.org/ avec cette discussion http://board.phpbuilder.com/showthread.php?10327812-How-to-install-ffmpeg -php-to-create-thumbnails-from-videos
Installez d'abord le projet ffmpeg-php
( http://ffmpeg-php.sourceforge.net/ )
Et puis vous pouvez utiliser ce code simple:
<?php
$frame = 10;
$movie = 'test.mp4';
$thumbnail = 'thumbnail.png';
$mov = new ffmpeg_movie($movie);
$frame = $mov->getFrame($frame);
if ($frame) {
$Gd_image = $frame->toGDImage();
if ($Gd_image) {
imagepng($Gd_image, $thumbnail);
imagedestroy($Gd_image);
echo '<img src="'.$thumbnail.'">';
}
}
?>
Description: Ce projet utilise le fichier d'extension binaire .so
, Il est très ancien et la dernière mise à jour date de 2008. Donc, ça ne marche peut-être pas avec une version plus récente de FFMpeg
ou PHP
.
Installez d'abord le projet PHP-FFMpeg
( https://github.com/PHP-FFMpeg/PHP-FFMpeg )
(il suffit de lancer l'installation: composer require php-ffmpeg/php-ffmpeg
)
Et puis vous pouvez utiliser ce code simple:
<?php
require 'vendor/autoload.php';
$sec = 10;
$movie = 'test.mp4';
$thumbnail = 'thumbnail.png';
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open($movie);
$frame = $video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds($sec));
$frame->save($thumbnail);
echo '<img src="'.$thumbnail.'">';
Description: C'est un projet plus récent et plus moderne et fonctionne avec la dernière version de FFMpeg
et PHP
. Notez qu'il est nécessaire de proc_open()
PHP.
Deux façons me viennent à l'esprit:
En utilisant un outil en ligne de commande comme le populaire ffmpeg , cependant vous aurez presque toujours besoin d'un propre serveur (ou d'un administrateur de serveur/société d'hébergement) pour l'obtenir
Utilisation du plug-in " " du plug-in LongTail Video player qui permet la création de captures d'écran manuelles qui sont ensuite envoyées à un script côté serveur.