Jag får inte scriptet nedan att fungera. :l
Får bara:
Något gick fel!
Finns det någat exempel -och/eller sätt för att se om ffmpeg är installerat KORREKT!?
I konsolen (använder putty för att komma åt servern från min windows-burk), ser jag följande:
[root@localhost ~]# whereis ffmpeg.exe
ffmpeg: /usr/bin/ffmpeg /usr/share/man/man1/ffmpeg.1.bz2
Är tacksam för ALL hjälp. :birp
(Kör Mandriva linux på en egen server.)
Här är scriptet:
<?php
function convert_video($source, $format, $ffmpeg, $quality, $width, $height, $bitrate, $channel, $screenshot, $seek, $pic_w, $pic_h) {
$screen = $width .'x'. $height;
$pic_size = $pic_w .'x'. $pic_h;
$seek = date("H:i:s", strtotime("00:00:00 +$seek seconds"));
$destination = preg_replace('/\.[a-z]{2,4}$/', '', $source);
$cmd = "-qscale $quality -s $screen -ab $bitrate -ac $channel";
// konvertera rullen...
exec("START $ffmpeg/ffmpeg -i $source $cmd {$destination}.$format");
// kontrollera så att den konverterade filen verkligen finns...
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (file_exists("{$destination}.$format")) {
// Ta en screendump av filmen och spara som png
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ($screenshot) {
exec("START $ffmpeg/ffmpeg -i $source -vcodec png -ss $seek -s {$pic_size} -vframes 1 {$destination}_%d.png");
$screen = $destination . "_1.png";
} else {
$screen = false;
}
return array('video' => "{$destination}.$format", 'screen' => $screen);
} else {
return false;
}
}
if (isset($_POST['submit'])) {
$movie = $_FILES['movie']['name'];
$path = "filmer/$movie"; // vart ska filmen sparas?
// Flytta rullen till $path
if(move_uploaded_file($_FILES['movie']['tmp_name'], $path)) {
$type = 'flv'; // format att konvertera till
$ffmpeg = '/user/bin/ffmpeg'; // Sökväg till mappen där ffmpeg ligger
$q = 10; // Kvalité på konverteringen (0=bäst, 31=sämst)
$w = 320; // Bredd i px
$h = 240; // Höjd i px
$b = 96; // Kvalite på ljudet: 96 kb/s
$c = 1; // Kanaler (1=mono, 2=stereo)
$s = true; // Ta screenshot? (boolean)
$t = 3; // hur många sekunder in i filmen ska screenshot´en tas?
$s_w = 120; // screenshot-bredd i px
$s_h = 90; // screenshot-höjd i px
$convert = convert_video($path, $type, $ffmpeg, $q, $w, $h, $b, $c, $s, $t, $s_w, $s_h);
// Lyckades konverteringen?
if ($convert) {
$msg = "<img src=\"$convert[screen]\" alt=\"\" /><br />
<a href=\"$convert[video]\">". basename($convert['video']) ."</a> - Hårdrock, allt ok!";
} else {
$msg = "Något gick fel!";
}
// Radera den uppladdade filmen
unlink($path);
} else {
$msg = "A problem occured while uploading $movie!";
}
echo $msg;
}
?><form method="post" action="" enctype="multipart/form-data">
<input type="file" name="movie" /><br />
<input type="submit" name="submit" value="Upload Clip!" />
</form>