Uploading video using PHP

Dear all,

i manage to upload my videos using the following script but unable to convert it to flv nor display the thumbnails. I have followed the ffmpeg installation from this site http://www.myownserver.info/index.php/step-4-additonal-settings/11-installffmpeg.html

i'm using windows running on xampp apache on localhost.

may i know why and is thr any other alternative for me? thanks!
++++++++ uploadvideo.html++++++++++++++++++++++
<form name="frm" action="uploadvideopro.php" method="post" enctype="multipart/form-data" >
<input name="x_URL" type="file" class="form1" 
<input type="submit" name="submit" value="upload" >
/***************Load FFMPEG *********************************/
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR ."/". $extension_soname;
// load extension
if (!extension_loaded($extension)) {
dl($extension_soname) or die("Can't load extension $extension_fullname\n");
/*****************Get the path to Extention ****************/
$array_path = explode("/",$_SERVER['SCRIPT_FILENAME']);
$dynamic_path = "";
for ($i=0;$i<sizeof($array_path)-1;$i++)
$dynamic_path =$dynamic_path."/".$array_path[$i];
/******************set folders*****************************/
$flvpath = "flvfiles/";
$moviepath = "movies/" ;
/******************Upload and convert video *****************************/
$fileName = $_FILES["x_URL"]["name"];
$fileNameParts = explode( ".", $fileName );
$fileExtension = end( $fileNameParts );
$fileExtension = strtolower( $fileExtension );
if($fileExtension=="avi" || $fileExtension=="wmv" || $fileExtension=="mpeg" 
|| $fileExtension=="mpg" || $fileExtension=="mov" )
if ( move_uploaded_file($_FILES["x_URL"]["tmp_name"],$moviepath.$_FILES["x_URL"]["name"]) 
if( $fileExtension == "wmv" ) {
exec("ffmpeg -i ".$dynamic_path."/".$moviepath."".$fileName." 
-sameq -acodec mp3 -ar 22050 -ab 32 -f flv -s 320x240 ".$dynamic_path."/".$flvpath."myflv.flv");
if( $fileExtension == "avi" || $fileExtension=="mpg" || 
$fileExtension=="mpeg" || $fileExtension=="mov" ) {
exec("ffmpeg -i ".$dynamic_path."/".$moviepath."".$fileName." 
-sameq -acodec mp3 -ar 22050 -ab 32 -f flv -s 320x240 ".$dynamic_path."/".$flvpath."myflv.flv");
/******************create thumbnail***************/
exec("ffmpeg -y -i ".$dynamic_path."/".$moviepath."".$fileName." 
-vframes 1 -ss 00:00:03 -an -vcodec png -f rawvideo -s 110x90 ".$dynamic_path."/".$flvpath."myflv.png");
die("The file was not uploaded");
die("Please upload file only with avi, wmv, mov or mpg extension!");
die("File not found");

Open in new window

Who is Participating?
biztigerConnect With a Mentor Commented:
For converting the video, always give the full path name of ffmpeg.exe on the exec function.

That means if you are converting wmv file, try this:-

if( $fileExtension == "wmv" ) {
exec("C:\ffmpeg -i ".$dynamic_path."/".$moviepath."".$fileName."
-sameq -acodec mp3 -ar 22050 -ab 32 -f flv -s 320x240 ".$dynamic_path."/".$flvpath."myflv.flv");

It assumes that ffmpeg is installed on c:\ (that means the path to ffmpeg.exe is c:\ffmpeg.exe)

Also your codesnippet will work if you add ffmpeg as a Environment Variable and put the path of the ffmpeg.exe as the value of environment variable.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.