php ffmpeg 获取视频宽高
时间: 2023-08-18 19:08:38 浏览: 49
要获取视频的宽高,可以使用FFmpeg的PHP扩展来实现。下面是一个示例代码:
```php
$ffmpeg = \FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('video.mp4');
$videoFormat = $video->getFormat();
$width = $videoFormat->get('width');
$height = $videoFormat->get('height');
echo "视频宽度:${width},视频高度:${height}";
```
使用上述代码,您需要安装FFmpeg的PHP扩展,并且将视频文件名替换为您要处理的视频文件的名称。
相关问题
thinkphp ffmpeg获取视频信息
在 ThinkPHP 中获取视频信息需要用到 FFmpeg 库,可以通过以下步骤实现:
1.安装 FFmpeg 库
安装 FFmpeg 库可以使用系统自带的包管理器或者从 FFmpeg 官网下载源码编译安装。
2.调用 FFmpeg 库获取视频信息
在 ThinkPHP 中,可以通过 exec 函数调用 FFmpeg 库获取视频信息,代码如下:
```php
$video_path = 'path/to/video.mp4';
$cmd = "ffmpeg -i {$video_path} 2>&1";//2>&1是将错误信息输出到标准输出流
exec($cmd, $output, $status);
if ($status === 0) {
// 解析输出信息,获取视频信息
$info = [];
foreach ($output as $line) {
if (preg_match('/Duration: ([^,]+),/', $line, $matches)) {
$info['duration'] = $matches[1];
}
if (preg_match('/Video: (.+)/', $line, $matches)) {
$info['video'] = $matches[1];
}
if (preg_match('/Audio: (.+)/', $line, $matches)) {
$info['audio'] = $matches[1];
}
}
// 输出视频信息
var_dump($info);
} else {
// 输出错误信息
echo "Command failed with status: $status\n";
echo "Output:\n";
echo implode("\n", $output);
}
```
上面的代码会输出视频的时长、视频编码和音频编码等信息。你可以根据需要修改正则表达式来获取更多视频信息。
php获取视频第一帧
你可以使用FFmpeg来获取视频的第一帧。以下是一个简单的PHP代码示例:
```php
$videoPath = 'path/to/video.mp4';
$imagePath = 'path/to/image.jpg';
// 使用FFmpeg获取第一帧并保存为图片
exec("ffmpeg -i {$videoPath} -vframes 1 -an -s 320x240 -ss 5 {$imagePath}");
// 输出图片
echo "<img src='{$imagePath}'>";
```
在上面的代码中,`$videoPath`是视频文件的路径,`$imagePath`是要保存第一帧的图像文件的路径。`exec()`函数用于在PHP中执行命令行命令,在此处使用FFmpeg命令行来获取视频的第一帧并将其保存为图像文件。 `-vframes 1`参数用于指定只提取第一帧,`-an`参数用于禁用音频流,`-s`参数用于指定输出图像的大小,`-ss 5`参数用于指定从视频的第5秒开始提取第一帧。最后,我们将图像输出到Web页面上。