Question: From where download the PHP FFMpeg library?
Install the php FFMpeg with composer.
composer require php-ffmpeg/php-ffmpeg
Question: Check php FFMpeg installed properly or not?
require 'vendor/autoload.php';
$ffmpeg = FFMpeg\FFMpeg::create();
print_r($ffmpeg);
If it will print the object means FFMpeg is proper configure.
Question: How to extract image from video?
require_once 'ffmpeglib/vendor/autoload.php';
$folderPath='convert/';
#Create the required Object
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open($folderPath.'video.mp4');
#extra the image at 10 seconds
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
->save('frame_10.jpg');
#extra the image at 20 seconds
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(20))
->save('frame_20.jpg');
#extra the image at 30 seconds
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(30))
->save('frame_30.jpg');
Question: How to extract image in every 10 seconds from video?
require_once 'ffmpeglib/vendor/autoload.php';
$folderPath='convert/';
##Create the required Object
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open($folderPath.'video.mp4');
for($i=10; $i<=300; $i+=10){
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds($i))
->save($folderPath.'frame_'.$i.'.jpg');
}
Question: How to set the binary file path in ffpeg?
$ffmpeg = FFMpeg\FFMpeg::create(array(
'ffmpeg.binaries' => '/opt/local/ffmpeg/bin/ffmpeg',
'ffprobe.binaries' => '/opt/local/ffmpeg/bin/ffprobe',
'timeout' => 3600, // The timeout for the underlying process
'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
));
Question: How to get the codec_name information of video?
$ffprobe = \FFMpeg\FFProbe::create();
$codeAc=$ffprobe->streams($uploadingFileName[0])
->videos()
->first()
->get('codec_name');
Question: How to get the duration of video?
$ffprobe = \FFMpeg\FFProbe::create();
$codeAc=$ffprobe->streams($uploadingFileName[0])->get('duration');
Question: How to combine multiple video?
$staticFilePath='/videopath';
$video = $ffmpeg->open( $staticFilePath.'0.mp4');
$video
->concat(array($staticFilePath.'0.mp4',$staticFilePath.'1.mp4',$staticFilePath.'2.mp4',$staticFilePath.'3.mp4'))
->saveFromSameCodecs($staticFilePath.'final.mp4', TRUE);
//final.mp4 will be combined file
Question: How to combine multiple video from h265 to h264?
$staticFilePath='/videopath';
$video = $ffmpeg->open( $staticFilePath.'0.mp4');
$video
->concat($array($staticFilePath.'0.mp4',$staticFilePath.'1.mp4',$staticFilePath.'2.mp4',$staticFilePath.'3.mp4'))
->saveFromDifferentCodecs(new FFMpeg\Format\Video\X264,$staticFilePath.'final_264.mp4', true);
Question: How to check file is video file OR Audio file?
$videoDataAvailable=$ffprobe->streams($videoFile)->videos();
if(count($videoDataAvailable)==0){
echo 'AUDIO FILE';
}else{
echo 'Video File FILE';
}
Question: How to convert Mp4 to wav using php-ffmpeg?
require_once 'ffmpeglib/vendor/autoload.php';
$ffmpeg = FFMpeg\FFMpeg::create();
$format = new FFMpeg\Format\Audio\Wav();
$videoFolderPath='folder';
$audioObj = $ffmpeg->open($videoFolderPath.'/myfile.mp4');
$audioObj->save($format, $videoFolderPath.'/myfile.wav');
Question: How to convert Mp4 to mp3 using php-ffmpeg?
require_once 'ffmpeglib/vendor/autoload.php';
$ffmpeg = FFMpeg\FFMpeg::create();
$videoFolderPath='folder';
$mp3Format = new FFMpeg\Format\Audio\Mp3();
$audioObj = $ffmpeg->open($videoFolderPath.'/myfile.mp4');
$audioObj->save($mp3Format, $videoFolderPath.'/myfile.mp3');