python - 使用 Python MoviePY 连接视频太慢

标签 python video ffmpeg moviepy

我正在使用 MoviePY 加入 1、2、3 分钟的 50 秒或更多视频,但它给了我 20 个小时,即使我有 64 GB 内存、i7 和 GTX 670,虽然不是顶级但合理。无论如何我可以加快这个过程吗?

padding = 10 # padding option
video_clips = [VideoFileClip(video_dir + video) for video in os.listdir(video_dir)]
video_fx_list = [video_clips[0]]

idx = video_clips[0].duration - padding
for video in video_clips[1:]:
video_fx_list.append(video.set_start(idx).crossfadein(padding))
idx += video.duration - padding

final_video = CompositeVideoClip(video_fx_list)
final_video.write_videofile(video_dir + 'myoutfile.mp4', fps=24)

我不需要这些剪辑的原始音频,删除它会加快速度吗?虽然不确定如何删除音频/

enter image description here

最佳答案

您可以在 write_videofile 中指定多个 threads 。它将通过使用您机器的所有核心显着加快导出速度。

final_video.write_videofile(video_dir + 'myoutfile.mp4', threads = 8, fps=24)

附加说明:

  • 您可以调整所有视频到较低的分辨率(例如 720p)

  • 降低 fps 也有很大的不同,但 24 fps 已经得到很好的优化

  • Moviepy 仅使用 CPU 来渲染视频。考虑升级您的 CPU 或在云服务(例如 Amazon AWS、Google Cloud、MS Azure..)上运行您的程序以获得更好的性能

关于python - 使用 Python MoviePY 连接视频太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56413813/

相关文章:

python - 使用自定义中间表的 Django ManyToMany 关系查询集

python - 如何重置openx静态文件缓存?

video - FFMPEG 修剪最后 3 秒的视频

HTML5 视频标签不显示亚马逊视频

android - Android 4.2.2 设备上的 HTML5 视频

video - 如何获得h264比特率

ffmpeg - 使用 aac 编码自定义构建的 ffmpeg

ffmpeg - 如何在 GPU(AMD)中运行 ffmpeg

python - 从多个文本文件中调用随机行

python - Scrapy setup ubuntu 16.04 或任何其他