#!/usr/bin/php * @www: http://www.alienxarea.com * @version: 1.0 */ /* PARAMS */ $out_size = "320x240"; //Taille de la vidéo un fois encodé $img_size = "160x120"; //Taille de la miniature $dst_path = "/home/alienx/Vidéos/"; //Chemin de destination de la video + miniature /************************/ if(!isset($argv[1])) die("Syntax: {$argv[0]} \n"); if(!file_exists($argv[1])) die("File {$argv[1]} not found\n"); $src_infos = pathinfo($argv[1]); $src_name = $src_infos['filename']; $dst_pathname = $dst_path.$src_name; //Encodage de la vidéo + enregistrement dans le repertoire de destination system("ffmpeg -y -i ".$argv[1]." -ar 22050 -ab 56 -aspect 4:3 -r 12 -f flv -s {$out_size} -ac 1 {$dst_pathname}.flv"); /* Génération de la miniature */ $oVids = new ffmpeg_movie($dst_pathname.".flv",false); $frames = $oVids->getFrameCount(); $rframe = rand(1, $frames); //Prend une image au hazard $duration = $oVids->getDuration(); $time = round($rframe*$duration/$frames); print "Time capture : ".$time."\n"; print "Frame capture : ".$rframe."\n"; $h = sprintf("%02d",round($time/3600)); $m = sprintf("%02d",round($time/60)); $s = sprintf("%02d",round($time%60)); print "Time: $h:$m:$s\n"; $time = "$h:$m:$s"; //Création de la miniature system("ffmpeg -y -i {$dst_pathname}.flv -vcodec mjpeg -vframes 1 -an -f rawvideo -s {$img_size} -ss {$time} {$dst_pathname}.jpg"); ?>