codernoob8
codernoob8

Reputation: 712

PHP - get video and image dimensions on upload

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

Answers (2)

codernoob8
codernoob8

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

user10461621
user10461621

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:

  1. resize
  2. List item
  3. convert
  4. frame pic (screenshot)
  5. watermark
  6. ...

Upvotes: 1

Related Questions