【问题标题】:Is there a way to save a matplotlib animation as a video (with ffmpeg) so that the last frame is held for N seconds?有没有办法将 matplotlib 动画保存为视频(使用 ffmpeg),以便最后一帧保持 N 秒?
【发布时间】:2020-12-03 04:46:58
【问题描述】:

我正在使用 FFMpegWriter 将 matplotlib 动画保存为视频。我想在视频结束时将最后一帧保持几秒钟。

作为一种解决方法,您可以通过重复最后一帧的一些额外步骤来修改动画本身。该步数可以根据所需的“保持持续时间”和动画的间隔/fps 来计算。

尽管如此,我想知道是否有一种更简洁的方法可以做到这一点,而无需人为地修改动画本身,而是为作者使用一些额外的参数(在我的情况下使用 ffmpeg)。不幸的是,我对 ffmpeg 了解不多,所以我想得到一些帮助。

谢谢。

【问题讨论】:

    标签: matplotlib animation ffmpeg


    【解决方案1】:

    回答我自己的问题。在使用 matplotlib 保存视频后,我最终运行了一个 ffmpeg 命令(使用 subprocess.run):

    ffmpeg \
       -i <your-input-file> \
       -vf tpad=stop_mode=clone:stop_duration=<your-stop-duration> \
       <your-output-file>
    

    我没有尝试是否可以直接将此过滤器传递给FFMpegWriter

    【讨论】:

      猜你喜欢
      • 2014-05-29
      • 2018-06-05
      • 2021-02-23
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多