gpt4 book ai didi

video - 如何通过 avconv 合并视频?

转载 作者:行者123 更新时间:2023-11-28 21:38:30 24 4
gpt4 key购买 nike

文件夹中有几个 block 。

0001.mp4
0002.mp4
0003.mp4
...
0112.mp4

我想将它们合并成 full.mp4

我尝试使用:

avconv -f concat -i <(printf "file '%s'\n" /root/chunk/*.mp4) -y \
-c copy /root/test/full.mp4

未知的输入格式:'concat'

avconv -f concat -i <(printf "%s|" /root/chunk/*.mp4) -y \
-c copy /root/test/full.mp4

未知的输入格式:'concat'

avconv -i concat:`ls -ltr /root/chunk/*.mp4 | awk 'BEGIN {ORS="|"} { print $9 }'` \
-c:v copy -c:a copy /root/test/full.mp4

在上一版中,只有一个输入文件被捕捉到输出。

如何将文件夹中的所有 block 合并为完整视频?

我不想使用 ffmpeg 或其他。仅 Avconv。

最佳答案

mp4 文件不能简单地连接起来,正如“已接受”答案所暗示的那样。

如果您单独运行它,您将得到 output.mp4,其中只有 file1.mp4 的内容。

也就是说,只要您正确地将原始文件拆分为 mpeg 流,您在原始问题中想要做的事情实际上是可以完成的。

以下命令会将 input.mp4 拆分为文件 [1-3].ts 中的 3x 60 秒片段:

avconv -ss 0 -i input.mp4 -t 60 -vcodec libx264 -acodec aac \
-bsf:v h264_mp4toannexb -f mpegts -strict experimental -y file1.ts
avconv -ss 0 -i input.mp4 -t 60 -vcodec libx264 -acodec aac \
-bsf:v h264_mp4toannexb -f mpegts -strict experimental -y file2.ts
avconv -ss 0 -i input.mp4 -t 60 -vcodec libx264 -acodec aac \
-bsf:v h264_mp4toannexb -f mpegts -strict experimental -y file3.ts

然后您可以像其他答案所建议的那样将它们放回原处:

avconv -i concat:"file1.ts|file2.ts|file3.ts" -c copy \
-bsf:a aac_adtstoasc -y full.mp4

我使用这个过程创建了一个可扩展的并行转码器,如下所述:

关于video - 如何通过 avconv 合并视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com