• Linux简单安装ffmpeg 实现用PHP压缩音频


    一、下载安装

    1、官方下载地址:Download FFmpeg

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

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

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

    1. cd /usr/bin
    2. 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命令压缩音频

    1. 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);
    2. 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的参数说明 可以自行搜索查阅.

  • 相关阅读:
    跨行业人群如何通过NPDP?过来人给的四点建议!
    Java 程序员从携程、美团、阿里面试回来,这些面经分享给大家
    cario库
    【QT进阶】Qt http编程之实现websocket client客户端
    python LeetCode 刷题记录 21
    开源语言大模型的正确姿势
    十、组件(8)
    C++的基类和派生类构造函数
    mmcv的环境 真 TM 难配
    基于SaaS平台的iHRM管理系统测试学习
  • 原文地址:https://blog.csdn.net/my476530/article/details/133947609