php引入 ffmpeg
时间: 2023-09-15 12:21:08 浏览: 133
在 PHP 中引入 FFmpeg 库可以通过两种方式实现:
1. 通过 PHP 扩展方式引入 FFmpeg 库
2. 通过 shell_exec() 函数执行 FFmpeg 命令
下面分别介绍这两种方式的实现方法:
### 1. 通过 PHP 扩展方式引入 FFmpeg 库
1. 确认已安装 FFmpeg 库
在开始之前,需要确认你的服务器上已经安装了 FFmpeg 库。如果未安装,可以通过以下命令在 Linux 上进行安装:
```bash
sudo apt-get install ffmpeg
```
2. 安装 php-ffmpeg 扩展
可以通过 PECL 安装 php-ffmpeg 扩展,命令如下:
```bash
sudo pecl install ffmpeg
```
如果提示找不到 phpize 命令,则需要先安装 php-dev 包:
```bash
sudo apt-get install php-dev
```
安装完毕后,在 php.ini 文件中添加以下配置:
```ini
extension=ffmpeg.so
```
3. 使用 php-ffmpeg 扩展
以下是使用 php-ffmpeg 扩展进行视频转码的示例代码:
```php
// 引入 ffmpeg 扩展
extension_loaded('ffmpeg') or die('ffmpeg 扩展没有安装');
// 创建 ffmpeg 实例
$ffmpeg = new \FFmpeg\FFmpeg();
// 指定要转码的视频文件路径和转码后输出的文件路径
$video_path = '/path/to/video.mp4';
$output_path = '/path/to/output.mp4';
// 创建转码任务
$task = $ffmpeg->open($video_path);
// 设置转码参数
$format = new \FFmpeg\Format\Video\X264();
$format->setAudioCodec('libmp3lame');
$format->setVideoCodec('libx264');
$format->setVideoFrameRate(25);
$format->setVideoResolution(640, 360);
// 执行转码任务
$task->addFormat($format);
$task->save($output_path);
```
### 2. 通过 shell_exec() 函数执行 FFmpeg 命令
1. 确认已安装 FFmpeg 库
同样需要确保服务器上已经安装了 FFmpeg 库。
2. 执行 FFmpeg 命令
可以通过 shell_exec() 函数执行 FFmpeg 命令,例如:
```php
// 指定要处理的视频文件和输出文件路径
$video_path = '/path/to/video.mp4';
$output_path = '/path/to/output.mp4';
// 设置 FFmpeg 命令
$cmd = "ffmpeg -i $video_path -c:v libx264 -c:a libmp3lame -vf scale=640:360 -r 25 $output_path";
// 执行 FFmpeg 命令
shell_exec($cmd);
```
这里的 FFmpeg 命令将视频转码为 H.264 编码、MP3 音频、分辨率为 640x360、帧率为 25 帧/秒的格式。
阅读全文