【问题标题】:How to compress or convert to low quality Mp3 file from PHP [closed]如何从 PHP 压缩或转换为低质量的 Mp3 文件 [关闭]
【发布时间】:2011-06-05 10:05:35
【问题描述】:

是否有任何 PHP 库或函数可以将 Mp3 文件转换为降低质量?

我想通过 PHP 将 128Kbps 或更高质量的 Mp3 文件压缩/转换为 64Kbps 的 Mp3 文件。

有人知道吗?

【问题讨论】:

  • +1 因为它是一个 php 问题,并且不涉及“ajax”或“jquery”这个词,哈哈
  • PHP 代表 HTML 预处理器。里面没有“mp3”或“音乐编辑器”。也没有“咖啡机”或“航天飞机”。
  • PHP 有一个 GD 库来处理图像文件,以及 ffmpeg 库来处理电影文件。为什么没有库来处理 mp3 文件?我成功地使用 PHP 处理了 mp3 的 id3 内容。我认为会有一些相关的图书馆来做这件事,对吧?
  • 采用 Unix 方法,只用其他进程来处理它。

标签: php mp3


【解决方案1】:

在我看来,压缩一个 mp3 音乐文件,意味着以 MB 为单位减少重量。您使 mp3 便携,以便您可以通过电子邮件发送它。您可以通过将其从立体声转换为单声道来减少一半的 MB,您可以丢弃一个音轨。在我的台式电脑的小扬声器上,老实说,我听不出 (4 MB) 128 kbps 立体声 mp3 和 (1 MB) 32 kbps 单声道 mp3 音乐文件之间的区别。所以,如果你真的想压缩一个 mp3 音乐文件,我建议使用下面的 ffmpeg,其中 –ac 1 表示一个音频通道(单声道)。 exec("ffmpeg -i inputfile.mp3 –ab 32k –ac 1 outputfile.mp3")

我注意到我的评论被否决了。并非没有道理。我忘了说,16 kbps 的单声道 MP3 听起来比 16 kbps 的立体声要好得多。也许您不会通过将 MP3 从立体声转换为单声道来压缩 MP3,但您可以保持更好的音质,从而可以进一步压缩 MP3。当我仍然有拨号互联网时,我这样做了很多年,我不得不这样做,以使我能够通过电子邮件发送 MP3。抱歉疏忽,我只是忘记了……那是几年前的事了。

【讨论】:

    【解决方案2】:

    这个命令对我有用

    exec("ffmpeg -i inputfile.mp3 -b:a 64k outputfile.mp3")
    

    【讨论】:

      【解决方案3】:

      首先,您需要安装 ffmpeg,网址为: http://ffmpeg.org/download.html

      然后,确保您在 PHP 配置中启用了安全模式,并选择您可以执行文件的正确目录: safe_mode_exec_dir

      最后,使用:

      exec("ffmpeg -i inputfile.mp3 -ab 64 outputfile.mp3")
      

      【讨论】:

      • 好的,谢谢你的回答。有用!但另外,它必须将 64 设置为 64000。
      • 在Linux/Ubuntu上,通过apt install ffmpeg安装即可
      【解决方案4】:

      请记住,php 可以轻松执行 shell 命令或脚本,因此调用外部程序打开了许多可能性。

      http://php.net/manual/en/ref.exec.php

      【讨论】:

        【解决方案5】:

        你看过 ffmpeg 吗? http://ffmpeg-php.sourceforge.net/

        【讨论】:

          猜你喜欢
          • 2011-01-03
          • 1970-01-01
          • 1970-01-01
          • 2016-07-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多