Linux简单安装ffmpeg 实现用PHP压缩音频-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
一、下载安装

1、官方下载地址Download FFmpeg

2、下载完上传到服务器然 然后解压就算安装完成了

tar -xf ffmpeg-git-amd64-static.tar.xz

3、然后配置一下全局变量当然也可以不用配置 使用的时候带上文件路径就行

cd /usr/bin
ln -s /root/ffmpeg-git-20231006-amd64-static/ffmpeg ffmpeg

 

 二、在PHP中用exec()函数运行ffmpeg命令处理音频

1、php.ini中exec()函数禁用去掉 保存 重启php

2、需要给执行命令用户设置权限 找到/etc/sudoers 这个文件 添加一行

比如给www用户添加权限 大概意思就是 www用户用exec()函数执行命令 不需要验证密码

www ALL=(ALL)  NOPASSWD: ALL

 3、php中执行ffmpeg命令压缩音频

exec('sudo ffmpeg -i /www/wwwroot/test.com/public/uploads/media/20231019/efce4e11df5a332a70c00b3edb430bde.mp3 -b:a 69k -y /www/wwwroot/test.com/public/uploads/media/20231019/efce4e11df5a332a70c00b3edb430bde_2.mp3 2>&1',$log,$status);
var_dump($log,$status);

命令参数简单解释:

exec('sudo (使用有权限的用户去执行命令)

ffmpeg -i   (指定要转换的音频文件)

/www/wwwroot/test.com/public/uploads/media/20231019/efce4e11df5a332a70c00b3edb430bde.mp3 (被转换的音频文件全路径)

-b:a 69k  (指定要被转换成的比特率 一半语音聊天的音频大概是 128k 所以69k差不多是压缩了一倍 这个我不懂 我测试的结果大概是这样)

-y (生成后的文件有相同名字覆盖掉)

/www/wwwroot/test.com/public/uploads/media/20231019/efce4e11df5a332a70c00b3edb430bde_2.mp3  (生成后的文件存放全路径)

2>&1  (加上这个后 如果执行没成功 会有提示原因)',

$log(执行结果记录),

$status(执行返回状态 0 表示执行成功));

三、完成一定按照步骤来是能转换成功的

关于ffmpeg的参数说明 可以自行搜索查阅.

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: phplinux