【问题标题】:Concatenate mp4 files连接 mp4 文件
【发布时间】:2020-07-17 23:05:14
【问题描述】:

我想将大约 15 个 45 秒的剪辑首尾相连。这些剪辑可以具有不同的分辨率(大多数是 1080 或 720),但都是 mp4 文件。

我都试过了

concatenate_videoclips(clips,method='compose')
concatenate_videoclips(clips,method='chain')

来自moviepy,但这些都对我没有好处,因为“撰写”依赖于所有文件的分辨率相同,而它们不是,并且链需要太长时间并且有时会导致错误。

我也尝试过使用 ffmpeg:

ffmpeg -i clip1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts

对于每个剪辑,然后连接:

ffmpeg -i "concat:intermediate1.ts|intermediate2.ts|...|intermediate15.ts" -c copy -bsf:a aac_adtstoasc output.mp4

但我认为这种方法似乎会导致音频问题,因为更改文件类型时会进行无损压缩。整个视频中会周期性地出现这些奇怪的音频停顿。

我也试过ffmpeg

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

clipsfile.txt 的样子

file clip1.mp4
file clip2.mp4
...
file clip15.mp4

当我运行它时,它可以工作,但我有一个音频错误,其中一些剪辑(通常成对出现)其中一个剪辑是无声的,然后下一个剪辑播放前一个剪辑的音频,但第一个剪辑的音频会更短在正确的时间返回第二个剪辑音频,所以在我看来,音频是重叠的并导致它静音,然后当重叠停止时它会恢复正常。

任何解决这些问题的建议、额外信息或其他要做的事情的建议都非常感谢。

【问题讨论】:

    标签: python-3.x audio video ffmpeg moviepy


    【解决方案1】:

    clip= concatenate_videoclips(new_path,method="compose") clips.write_videofile("C:/Users/unknown/Desktop/movie/temp.mp4",preset='ultrafast',thread=8,codec='libx264')

    【讨论】:

    猜你喜欢
    • 2014-06-01
    • 2018-12-22
    • 2013-04-13
    • 2011-11-12
    • 1970-01-01
    相关资源
    最近更新 更多