将PHP音频和视频上传链接到Linux服务器上的FFMPEG

时间:2015-10-02 02:57:59

标签: php linux audio video ffmpeg

我在使用php构建的Linux服务器上托管一个站点,我可以在一个部分中将音频文件和视频文件上传到另一个部分。

每个部分使用php上传单个音频文件和单个视频文件。每个上传都会分配一个唯一的文件名,以便可以在单个页面上单独查看,上传者可以发布有关其音频或视频的评论。

我希望能够让当地的音乐家和表演者展示他们的作品。该网站有效,但大型视频文件无法上传,我的音频播放器只播放几种格式,我喜欢将它们全部转换为mp3。

我在我的linux服务器上安装了ffmpeg以帮助我解决这个问题,并且能够通过我的终端连接到它。我的问题是如何让ffmpeg与我上传的php文件接口。

例如,当用户上传音频文件时,我可以在上传时将ffmpeg转换,或者我是否需要设置临时文件夹以进行上传,将其存储在那里,然后让ffmpeg压缩文件,将其转换为特定格式并将其保存在另一个文件夹中?

我希望在上传时压缩和更改格式以便不使用服务器空间,但如果这不是ffmpeg的工作方式,那么我就没有选择权。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:1)

上传时无法进行转码。但是,可以使用ffmpeg命令将所有视频转码为mp4文件,将所有音频文件转码为mp3文件,您可以使用exec语句从PHP代码调用。

H264 BP是视频编解码器,几乎是通用的,支持大多数平台设备,浏览器,播放器等.AAC是用于在线流媒体的最佳音频编解码器。

因此,请使用PHP中的以下exec语句转换所有视频。

exec("ffmpeg -i INPUT.avi -r 25 -b:v 1M -pass 1 -c:v libx264 -profile:v baseline -c:a aac -strict experimental -b:a 192k OUTPUT.mp4");

使用PHP中的以下exec语句转换所有音频。

exec("ffmpeg -i INPUT.wav -c:a aac -strict experimental -b:a 192k OUTPUT.mp3");

答案 1 :(得分:0)

4年前,我曾有机会完成这项任务。我还记得我是怎么做到的。 我安装了ffmpeg,它应该在shell上使用命令。我使用php的exec库来执行ffmpeg命令,这些命令将视频文件转换为所需的格式,即mp4。你最好检查exec并学习ffmpeg命令将文件转换为所需的格式。希望它有所帮助

相关问题