Reputation: 712
Is it possible to get the video dimensions from a video file? I'm uploading mp4s and wmvs as well as some image files. I would like to grab the dimensions and make it part of the new filename.
I know you can use getImageSize()
for pictures but how would I do the same for video. Is there a way to do this?
Upvotes: 1
Views: 8009
Reputation: 712
<?php require_once('getid3/getid3.php');
$filename='uploads/4thofJuly_184.mp4';
$getID3 = new getID3;
$file = $getID3->analyze($filename);
echo("Duration: ".$file['playtime_string'].
" / Dimensions: ".$file['video']['resolution_x']." wide by ".$file['video']['resolution_y']." tall".
" / Filesize: ".$file['filesize']." bytes<br />");
$getID3 = new getID3;
$filename='uploads/25PercentOff_710.wmv';
$file = $getID3->analyze($filename);
echo("Duration: ".$file['playtime_string'].
" / Dimensions: ".$file['video']['resolution_x']." wide by ".$file['video']['resolution_y']." tall".
" / Filesize: ".$file['filesize']." bytes<br />");
// Calling getimagesize() function
$filename="uploads/25PercentOff_960.jpg";
list($width, $height) = getimagesize($filename);
// Displaying dimensions of the image
echo "Width of image : " . $width . "<br>";
echo "Height of image : " . $height . "<br>";
?>
Upvotes: 1
Reputation:
use ID3 libs, for example getID3:
very simple to use :
$getID3 = new getID3;
$ThisFileInfo = $getID3->analyze($localtempfilename);
if dont use shared host, use ffmpeg to get info (PHP-FFMpeg/PHP-FFMpeg):
$ffprobe = FFMpeg\FFProbe::create();
$video_dimensions = $ffprobe
->streams( $full_video_path ) // extracts streams informations
->videos() // filters video streams
->first() // returns the first video stream
->getDimensions(); // returns a FFMpeg\Coordinate\Dimension object
feature of ffmpeg:
Upvotes: 1