FFmpegAndroid知识Android开发

使用FFMPEG合并视频的两个坑(android环境)

2017-07-05  本文已影响374人  书柜里的松鼠

命令行很简单:

ffmpeg -f concat -i filelist.txt -c copy outputVideo.mp4

其中filelist.txt是一个文本文件。里面列了需要合并的文件列表。格式类似这样:

file 'input1.mp4'
file 'input2.mp4'

很简单吧,然而并不!(总是有然而)这里有两个坑。
1.视频的分辨率和格式必须一样。因为这是简单的拼接,并没有再次转码。(所以速度很快)如果视频格式不同就会出现拼接失败,比如只有头一个文件或者后面的文件花屏等。(不同格式视频进行重新编解码拼接的话要使用concat滤镜的命令,这个速度就慢些了,待我回头研究下先。)
2.以上命令,如果头一个文件没有声音,那么后面的视频也会没有声音。这就很尴尬了。所以要保留后面文件的声音,则第一个视频必须有声音。(好诡异的坑,难道是因为直接拼接的如果前面没有音频就无法封装音频流?)

上一篇下一篇

猜你喜欢

热点阅读