gpt4 book ai didi

python - matplotlib动画电影: quality of movie decreasing with time

转载 作者:太空狗 更新时间:2023-10-29 17:03:29 24 4
gpt4 key购买 nike

我正在尝试使用 matplotlib 中的 animation.FuncAnimation 函数制作电影。电影在交互上看起来不错,但是当我用命令保存它时

anim2.save('somefilm.mp4',codec='mpeg4', fps=15)

它开始很好,但后来变得模糊(都使用 QuickTime 和 vlc,所以我认为这是电影,而不是播放器)。

我玩过 blitting,因为我认为这可能是 Canvas 没有重绘的事实,但无济于事。增加比特率也无济于事。

设置 dpi=500 确实在一定程度上提高了电影的质量,但随后会反复卡住,导致观看困难。

我只是想知道这是否是最好的方法,还是我遗漏了什么?

最佳答案

为了深入研究这个问题,重要的是要了解视频文件通常使用高度有损的压缩方式进行压缩,而交互式显示则不进行压缩。通常的电影压缩往往对图形非常糟糕,这是压缩参数的问题。

您可以做四件事:

  • 设置图像分辨率(按dpi),但这实际上可能会使输出的视觉效果更差,因为问题通常不在于缺少像素

  • 设置图像比特率(通过bitrate);您的比特率越高,您的电影就越好 - 一种可能是设置 bitrate=-1 并让 matplotlib 选择最佳比特率

  • 更改编解码器(例如,更改为 codec="libx264")

  • 为编解码器提供额外参数(例如,extra_args=['-pix_fmt', 'yuv420p'])

不幸的是,这些选项实际上取决于视频编解码器,它是第三方程序(通常是 ffmpeg)、您的视频的预期用途以及您的平台。我将从添加 kwarg bitrate=-1 开始,看看它是否有所改善。

如果你不能让它工作,请添加一个完整的(但尽可能简单的)例子来说明如何创建一个坏文件。这样就更容易调试了!

关于python - matplotlib动画电影: quality of movie decreasing with time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25203311/

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