FFMPEG拼接视频已完成,但视频丢失。

3

我用FFMPEG拼接了视频。以下是代码:

ffmpeg -i "concat:video1.webm|video2.webm|video3.webm|video4.webm" -c copy output_video.webm

拼接完成后,我播放视频时只显示了video1,而video2、video3和video4都没有显示出来。虽然output_video.webm文件大小是完整的。我不知道为什么会出现这个问题?请帮我解决一下,怎样才能修复它呢?

非常感谢。 Bien

1个回答

0

它无法工作是因为“concat协议”(也称为二进制连接)不支持“webm”文件格式。它支持avi,mpeg-ts。请查找FFMPEG Concat文档详细讨论此问题。

解决方案: 如上文所述,您可以使用更灵活的“concat demuxer”,如下所示:

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


Where mylist.txt is something like:

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

在当前目录下,将两个mp4文件(video1.mp4和video2.mp4)合并的示例。

ffmpeg命令:

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

'filelist.txt'的内容

file 'video1.mp4'
file 'video2.mp4'

合并后的视频可在output.mp4中找到


感谢Arun Kumar,我正在使用从Web浏览器记录视频,并使用以下命令进行连接:cd /var/www/html/record/uploads/tmp; ls > filelist.txt; find *.webm | sed 's:\ :\\ :g'| sed 's/^/file /' > filelist.txt; ffmpeg -f concat -i filelist.txt -c copy /var/www/html/record/uploads/".$filename.".webm; rm -rf * - Thien Hoang
当我完成视频拼接后,打开视频时无法显示所有内容。输出视频仅显示文件1的内容。我尝试在Windows上使用MKVToolNix软件合并视频,但出现了相同的问题。MKVToolNix成功地合并了视频,但是当我打开视频时,它无法显示所有内容。输出视频仅显示文件1的内容。我不知道为什么?该如何解决? - Thien Hoang
我猜测上述命令存在问题。$filename 前后都多了一个点。请尝试使用以下命令:'ffmpeg -f concat -i filelist.txt -c copy /var/www/html/record/uploads/output.webm'。这个命令曾经对我有效。 - arunk2
亲爱的Arun Kumar,我使用ffmpeg合并了视频,但输出的视频缺少内容。您是否已经用ffmpeg完成了视频合并?如何使输出视频具有完整的内容? - Thien Hoang
它对我起作用了。我可以看到连接后的输出视频。我使用了命令'ffmpeg -f concat -i filelist.txt -c copy output.mp4',而且'filelist.txt'有2行。第1行:file 'video1.mp4' 第2行:file 'video2.mp4' - arunk2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接