美文网首页FFmpegAndroid知识Android开发
使用FFMPEG合并视频的两个坑(android环境)

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

作者: 书柜里的松鼠 | 来源:发表于2017-07-05 00:38 被阅读374次

命令行很简单:

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

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

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

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

相关文章

网友评论

  • Hnyqye:大佬 第二个问题有解决方案吗?
    书柜里的松鼠:@Hnyqye 没研究出来,笨办法是加上没什么声音的音轨。
  • 魏魏魏魏:大佬,请教一下,我看了你写的关于FFmpeg的相关博客,但是依然有一个问题没有解决:就是如何调用so执行命令行?比如:ffmpeg -i Life.of.Pi.has.subtitles.mkv-map 0:s:0 sub1.srt
    书柜里的松鼠:如果是android的话我另外关于使用的那篇里有写如何调用命令的。

本文标题:使用FFMPEG合并视频的两个坑(android环境)

本文链接:https://www.haomeiwen.com/subject/adrfhxtx.html