-
Error in a class
Hi Guys,
i'm using this class from here:
http://www.iepak.com/30/topicdetail.aspx
i'm having a few errors with it, i know the public bit is wrong but when i take it away it still doesn't work and ideas on what could be the problem?
PHP Code:
<?php
Public Class Media_handler
{
function Convert_Media($filename, $rootpath, $inputpath, $outputpath, $width, $height, $bitrate, $samplingrate)
{
var $outfile = "";
// root directory path, where FFMPEG folder exist in your application.
var $rPath = $rootpath."\ffmpeg";
// which shows FFMPEG folder exist on the root.
// Set Media Size that is width and hieght
var $size = $width."x".$height;
// remove origination extension from file adn add .flv extension, becuase we must give output file name to ffmpeg command.
$outfile =$filename;
// Media Size
$size = Width & "x" & Height;
// remove origination extenstion from file and add .flv extension , becuase we must give output filename to ffmpeg command.
$outfile = 'out_file.flv';
// Use exec command to access command prompt to execute the following FFMPEG Command and convert video to flv format.
// exec('command',output array,int return value)
$command = '/C'._rootpath."\ffmpeg -i "\".$inputpath."\".$filename. " -acodec mp3 -ar " .$samplingrate." -ab ".$bitrate."
-f flv -s ".$size." ".$outputpath."\".outfile;
// return output file name for other operations
Return $outfile;
}
function set_buffering($filename,$rootpath,$path)
{
// root directory path
$_rootPath = rootpath."\flvtool"
// Execute FLV TOOL command also on exec , you can also use other tool for executing command prompt commands.
// exec('command',output array,int return value)
$command = "/C".$_rootpath."\flvtool2 - U".Path;
// Execute this command to set buffering for FLV
}
<!-- This function is used to Grab Thumbnail Image from Generated Flv files , to be display on the list, Note that, FFMPEG can create thumbnail only from FLV Files.. -->
function($filename, $rootpath, $inputpath,$outputpath, $no_of_thumbs, $frame_number, $image_format, $width, $height)
{
// root directory path
$_rootpath = rootpath."\ffmpeg";
// Media Size
$size = width. "x".height;
// I am using static image, you can dynamic it with your own choice.
$outfile = "sample.png";
// exec('command',output array,int return value)
$command = "/C".$_rootpath."\ffmpeg -y -i " .$inputpath."\".filename." -vframes ".$no_of_thumbs." -ss 00:00:03 -an -vcodec ". $image_format." -f rawvideo -s ".$size. " ". $outputpath."\".$outfile;
// Execute this command using exec command or any other tool to grab image from converted flv file.
Return $outfile;
}
}
thanks guys
Graham
-
What version of php are you using? If the class was written for php5 it might use functions that aren't available in php4
-
HI Praetor,
my server and localhost have the latest PHP 5.
cheers
Graham
-
Hi Graham, there is a parse error on one of the lines:
PHP Code:
$command = '/C'._rootpath."\ffmpeg -i "".$inputpath."".$filename. " -acodec mp3 -ar " .$samplingrate." -ab ".$bitrate."
-f flv -s ".$size." ".$outputpath."".outfile;
should be:
PHP Code:
$command = '/C'._rootpath."\ffmpeg -i ".$inputpath."".$filename. " -acodec mp3 -ar " .$samplingrate." -ab ".$bitrate."
-f flv -s ".$size." ".$outputpath.outfile;
try that.
-
Hi SpikeZ,
thanks for the help mate i ammedned the code like you said here it is in full:
PHP Code:
<?php
Public Class Media_handler
{
function Convert_Media($filename, $rootpath, $inputpath, $outputpath, $width, $height, $bitrate, $samplingrate)
{
var $outfile = "";
// root directory path, where FFMPEG folder exist in your application.
var $rPath = $rootpath."\ffmpeg";
// which shows FFMPEG folder exist on the root.
// Set Media Size that is width and hieght
var $size = $width."x".$height;
// remove origination extension from file adn add .flv extension, becuase we must give output file name to ffmpeg command.
$outfile =$filename;
// Media Size
$size = Width & "x" & Height;
// remove origination extenstion from file and add .flv extension , becuase we must give output filename to ffmpeg command.
$outfile = 'out_file.flv';
// Use exec command to access command prompt to execute the following FFMPEG Command and convert video to flv format.
// exec('command',output array,int return value)
$command = '/C'._rootpath."\ffmpeg -i ".$inputpath."".$filename. " -acodec mp3 -ar " .$samplingrate." -ab ".$bitrate." -f flv -s ".$size." ".$outputpath.outfile;
// return output file name for other operations
Return $outfile;
}
function set_buffering($filename,$rootpath,$path)
{
// root directory path
$_rootPath = rootpath."\flvtool"
// Execute FLV TOOL command also on exec , you can also use other tool for executing command prompt commands.
// exec('command',output array,int return value)
$command = "/C".$_rootpath."\flvtool2 - U".Path;
// Execute this command to set buffering for FLV
}
<!-- This function is used to Grab Thumbnail Image from Generated Flv files , to be display on the list, Note that, FFMPEG can create thumbnail only from FLV Files.. -->
function($filename, $rootpath, $inputpath,$outputpath, $no_of_thumbs, $frame_number, $image_format, $width, $height)
{
// root directory path
$_rootpath = rootpath."\ffmpeg";
// Media Size
$size = width. "x".height;
// I am using static image, you can dynamic it with your own choice.
$outfile = "sample.png";
// exec('command',output array,int return value)
$command = "/C".$_rootpath."\ffmpeg -y -i " .$inputpath."\".filename." -vframes ".$no_of_thumbs." -ss 00:00:03 -an -vcodec ". $image_format." -f rawvideo -s ".$size. " ". $outputpath."\".$outfile;
// Execute this command using exec command or any other tool to grab image from converted flv file.
Return $outfile;
}
}
it does not seem to get past line 2 it says:
Parse error: syntax error, unexpected T_PUBLIC on line 2
it's the same on my server and on localhost any ideas on what th eproblem could be?
thanks guys
Graham
-
i think thats because functions can be public NOT classes themselves. i havent made the jump to php5 yet so havent explored the public,private etc but I am pretty sure it's that......ish
-
is invalid public, private, protected go onto the methods and vars only.
You have a lot more problems with this code as well. vars missing there var/access prefix
Ummm scratch this...its all ****ed up....excuse me language...
-
lol not all mate, the guy before the PHP turorial did one for ASP, i don't think he fully changed the code over to php lol
PLUS im on shared hosting, and due to further reading have found out i need ffmpg installed on the server (shared don't do it they say)
ill need to scrap this idea for now
thanks for the input though guys
Graham