使用FFMPEG将两个MTS文件连接在一起

我有两个MTS视频文件,每个文件长2分钟。我需要能够将文件连接在一起并将格式转换为MPEG4。我有一个合适的命令行,用于将MTS转换为MP4,但首先不知道如何将文件连接在一起。 网上的一些文章建议使用CAT命令,如:
cat video1.mts video2.mts > whole_video.mts
然而,这不起作用,根据FFMPEG,“whole_video.mts”只有2分钟,而不是4分钟。 有谁知道如何将文件加在一起? FFMPEG是最好的程序吗?提前致谢。     
已邀请:
以下对我来说非常有效(即产生无缝连接):
ffmpeg -i "concat:00019.MTS|00020.MTS|00021.MTS|00022.MTS" output.mp4
    
用猫工作。只是视频播放器会在阅读生成的whole_video.mts时对视频长度感到愚蠢。通常会有一个突然的时间戳跳转,其中文件先前已被剪切。但这没关系。您可以对其进行编码,然后您将获得正确的带时间戳的文件。 用ffmpeg编码然后加入MP4Box是个坏主意。如果第二个文件没有以关键帧开头(由于2GB文件限制而被摄像机剪切时会发生这种情况),您将会在交叉位置获得丢失块的丑陋图像。加入然后编码,而不是相反。     
没关系,我已经对它进行了分类。使用最新的SVMP版本的FFMPEG,x264和MP4Box(GPAC),这就是我所做的...... 使用FFMPEG将MTS文件正常转换为MP4:
ffmpeg -i video1.mts -vcodec libx264 -deinterlace -crf 25 -vpre hq -f mp4 -s hd480 -ab 128k -threads 0 -y 1.mp4
ffmpeg -i video2.mts -vcodec libx264 -deinterlace -crf 25 -vpre hq -f mp4 -s hd480 -ab 128k -threads 0 -y 2.mp4
使用MP4Box将MP4文件连接在一起:
MP4Box -cat 1.mp4 -cat 2.mp4 output.mp4
这将文件连接到“output.mp4”,但是当我使用“ffmpeg -i output.mp4”时,它表示持续时间应该更长。为了解决这个问题,我不得不再次使用FFMPEG:
ffmpeg -i output.mp4 -vcodec copy -y final.mp4
瞧!使用FFMPEG查询“final.mp4”文件显示正确的持续时间,视频播放正常。 希望这可以帮助其他人遇到同样的问题。     

要回复问题请先登录注册