如何在CentOS上将FLVvideo直接转码为mp3?

好的,所以我有一个周末项目的想法,我想直接将flv / mp4stream转码为mp3格式。

我怎样才能轻松地通过在CentOS服务器上的PHP / Apache? (希望不是像FFMPEG CPU密集型)任何想法的赞赏!

🙂

首先, ffmpeg是这个的首选工具。 这是CPU密集型的,因为这是video或audio编码的本质。

您可以简单地从音轨中抓取stream(假设原始mp3audio在stream中)并保存。 我以前用这个bash代码片断*.flv文件的目录:

 #!/bin/bash for i in *.flv; do ffmpeg -i "$i" -acodec copy `basename $i .flv`-`date +%H%M%S%N`.mp3; done 

如果stream本身不是mp3格式,则需要重新编码。 或者你也许想要一个不同的比特率等等。这个任务肯定会消耗比前者更多的CPU:

 ffmpeg -i "$file" -f mp3 -vn -acodec libmp3lame -ab 192 `basename $file .flv`-`date +%H%M%S%N`.mp3; 

编辑:限制为一个核心: taskset 1 ffmpeg <rest of args>taskset是Debian系统上util-linux软件包的一部分。 您可能还想要重新设置该过程,将其优先级值设置为正范围内的某个值(声音向后,但较低nice值=较多的cpu时间)。 和往常一样, man tasksetman reniceman nice

这就是你如何从shell执行ffmpeg的操作 – 在PHP中实现作为读者的练习。