使用PHP和ffmpeg加入两个flv文件

时间:2011-02-21 16:54:14

标签: php ffmpeg

在我的网站上,我使用phpmotion将视频转换为FLV文件。 我想要做的是,在成功转换任何新的FLV文件后,在开头添加短FLV文件。

所以,我需要PHP中的FFMPEG命令,它将加载文件1.flv(介绍文件)和2.flv(成功转换文件),结果创建final.flv

我尝试过:

ffmpeg -i 1.flv -i 2.flv -vcodec copy -acodec copy final.flv

但没有结果。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

以下是代码,您必须首先将音频和视频分隔为原始文件,然后再加入它们再转换回flv

mkfifo temp1.a
mkfifo temp1.v
mkfifo temp2.a
mkfifo temp2.v
mkfifo all.a
mkfifo all.v
ffmpeg -i 1.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > temp1.a < /dev/null &
ffmpeg -i 2.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > temp2.a < /dev/null &
ffmpeg -i 1.flv -an -f yuv4mpegpipe - > temp1.v < /dev/null &
{ ffmpeg -i 2.flv -an -f yuv4mpegpipe - < /dev/null | tail -n +2 > temp2.v ; } &
cat temp1.a temp2.a > all.a &
cat temp1.v temp2.v > all.v &
ffmpeg -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a \
       -f yuv4mpegpipe -i all.v \
       -sameq -y output.flv
rm temp[12].[av] all.[av]

答案 1 :(得分:0)

我猜您可以使用mencoder合并两个文件。

mencoder -oac copy -ovc copy -o c:\video.flv c:\a.flv c:\b.flv