thinkphp ffmpeg获取视频信息
时间: 2023-08-03 20:04:26 浏览: 104
在 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);
}
```
上面的代码会输出视频的时长、视频编码和音频编码等信息。你可以根据需要修改正则表达式来获取更多视频信息。
阅读全文