PHP-在上传时获取视频和图像尺寸

时间:2018-10-05 15:55:06

标签: php html5 video upload

是否可以从视频文件中获取视频尺寸?我正在上传mp4和wmvs以及一些图像文件。我想获取尺寸并将其作为新文件名的一部分。

我知道您可以将getImageSize()用于图片,但是对于视频我该怎么做。有办法吗?

2 个答案:

答案 0 :(得分:1)

使用ID3库,例如getID3

使用非常简单:

    $getID3 = new getID3;
    $ThisFileInfo = $getID3->analyze($localtempfilename);

如果不使用共享主机,请使用ffmpeg获取信息(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

ffmpeg的功能

  1. 调整大小
  2. 列表项
  3. 转换
  4. 框架图片(屏幕截图)
  5. 水印
  6. ...

答案 1 :(得分:0)

<?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>"; 
?>