6
votes

FFMPEG - Création de la vignette pour le fichier vidéo

Je suis nouveau à php. J'ai installé FFMPEG dans mon IIS local .. est-il possible de générer une image miniature pour un fichier FLV? S'il vous plaît aider ..


2 commentaires

5 Réponses :


0
votes

2
votes

Après Script IC Créé à l'aide de la bibliothèque PHP FFMPEG. Vous pouvez saisir les informations vidéo et la vignette à l'aide des fonctions données xxx

fonction xxx

créera un nombre de vignettes dans le dossier spécifié dans la fonction . Vous pouvez modifier le code en fonction de votre exigence. Cela fonctionne si vous avez installé la bibliothèque FFMPEG et PHP FFMPEG.

renvoie ce lien http://tecserver.blogspot.in/2009/07/fmpeg -Video-conversion-tool.html


0 commentaires

15
votes

Essayez ceci xxx

une explication des options de commande:

-i nom de fichier (la source Chemin de fichier de la vidéo)
-deinterlace (convertit une vidéo entrelacée sur une forme non entrelacée)
-an (enregistrement audio est désactivé; nous n'en avons pas besoin pour les vignettes)
-SS Position (La vidéo d'entrée est décodée et larguée jusqu'à ce que l'horodatage atteigne position , notre position de la vignette en secondes)
Format de fichier de sortie
-t durée (le fichier de sortie cesse d'écrire après durée secondes)
-r fps (définit la fréquence de trame à écrire à; fps est exprimé en hertz (1 / secondes); nous utilisons 1 afin que nous saisir une seule image)
-y (écrase le fichier de sortie s'il existe déjà)
-s widthxheight (taille du cadre en pixels)


1 commentaires

Astuce: Mettez l'infilière -i la valeur après - SS Pour accélérer considérablement le processus.



1
votes
 <?php

$W = intval($_GET['W']);
 $H = intval($_GET['H']);
$pic = ''.htmlspecialchars($_GET['file']).''; 
$name = 'wapadmin/'.str_replace('/','--',$pic).'.gif';
$location = 'http://'.str_replace(array('\\','//'),array('/','/'),    $_SERVER                 [ 'HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.$name);

 if(file_exists($name)){
header('Location: '.$location, true, 301);
 exit;
}

$mov = new ffmpeg_movie($pic, false);
$wn = $mov->GetFrameWidth();
$hn = $mov->GetFrameHeight();


$frame = $mov->getFrame(480);

$gd = $frame->toGDImage();

 if(!$W and !$H){
  $a = "131*79";
  $size = explode('*',$a);
 $W = round(intval($size[0])); 
 $H = round(intval($size[1])); 
  }


 $new = imageCreateTrueColor($W, $H);
 imageCopyResampled($new, $gd, 0, 0, 0, 0, $W, $H, $wn, $hn);
 imageGif($new, $name, 100);

  header('Location: '.$location, true, 301);
  ?>

1 commentaires

Ce code n'est pas compelé. vous devriez ajouter $ mov = nouveau ffmpeg_movie ('./ wildlife.wmv'); au lieu de "$ MOV = nouveau ffmpeg_movie ($ photo, false);" Cela signifie que vous utilisez "wildlife.wmv" exactement sur votre drectorat root proche du fichier .php. Et aussi, vous devriez changer "imagegif ($ nouveau, $ nom, 100);" à "imagegif ($ nouveau," yourname.gif ", 100);" Il créera un fichier nommé "YourName.gif" près de votre fichier php. espère aider quelqu'un



1
votes

Il n'est pas nécessaire de spécifier une heure de 1. L'API FFMPEG fournit un format d'image2 et la possibilité de passer -vframe 1. XXX


0 commentaires