FFmpeg引入PHP篇

FFmpeg–引入PHP

配置:安装

安装FFmpeg环境.

composer引入核心代码

  • composer require php-ffmpeg/php-ffmpeg

将代码引入项目

  • 只需要 use FFMpeg

+将安装中生成的ffmpeg,ffprobe二进制文件移至项目中

cp -i /root/bin/ffprobe /home/wwwroot/xiangmu/ffprobe

cp -i /root/bin/ffmpeg /home/wwwroot/xiangmu/ffmpeg

实例代码

    $path = [
            'ffmpeg.binaries'  => '/usr/local/bin/avconv',
            'ffmpeg.binaries' => '/home/wwwroot/default/dream_farm/public/image/ffmpeg',
            'ffprobe.binaries' => '/usr/local/bin/avprobe',
            'ffprobe.binaries' => '/home/wwwroo
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 帧/秒的格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值