美文网首页
ffmpeg拼接视频报错 ,Found duplicated M

ffmpeg拼接视频报错 ,Found duplicated M

作者: mudssky | 来源:发表于2021-01-23 14:43 被阅读0次

    ​ 问题出现在使用concat协议进行拼接两个mp4视频的时候, 使用了下面的命令进行拼接,结果出现了如上的报错,Found duplicated MOOV Atom. Skipped ,结果只是把第一个视频拷贝一遍就结束了。

    ffmpeg -i "concat:001.mp4|002.mp4" -c copy out.mp4

    ​ 原理上是因为 concat协议,实际上就只是把两个视频直接拼接,把后一个视频直接贴到前一个视频后面而已,因此只会适用于ts和flv等一些格式。mp4格式整体有一层容器,而不像ts这类格式可以直接拼接,需要先解开容器再对提取的视频流进行拼接。

    ​ 之前我在查ffmpeg视频拼接的方法的时候,就了解到两种方法。当时我知道平时用的其他工具比如下载m3u8的视频,或者下载b站的视频分段的时候都是用的第二种方法,就是创建一个新文件,把文件列出来执行concat命令。当时我就发现了第一种方法的一个缺陷是,文件太多的时候不适用。文件名会拼起来很长。

    ​ 现在了解到了第一种方法只是简单的拼接。而第二种还会对容器进行处理,具体操作方式如下

    创建一个mylist.txt文件如下:

    file '/path/to/file1'
    file '/path/to/file2'
    file '/path/to/file3'
    

    执行下面的命令

    ffmpeg -f concat -safe 0 -i mylist.txt -c copy output
    

    相关文章

      网友评论

          本文标题:ffmpeg拼接视频报错 ,Found duplicated M

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