gpt4 book ai didi

python - 以每秒 60 帧的速度用 Python 编写视频

转载 作者:行者123 更新时间:2023-12-04 22:56:54 29 4
gpt4 key购买 nike

我想用 Python 创建一个每秒 60 帧的视频文件。

我尝试制作一个两分钟的视频 (DURATION_SECONDS = 120),但我得到的视频持续了 4 分 48 秒,而不是 2 分钟。所以帧速率似乎是 25,即使我将 60 传递给 FFmpegWriter。我做错了什么?

FRAMES_PER_SECOND = 60
DURATION_SECONDS = 120

import skvideo
skvideo.setFFmpegPath('C:\\ffmpeg\\x64')
import skvideo.io
import numpy as np

video_writer = skvideo.io.FFmpegWriter("test.mp4", outputdict={'-r':str(FRAMES_PER_SECOND)})

for i in range(DURATION_SECONDS*FRAMES_PER_SECOND):
video_writer.writeFrame(np.zeros((100,100)))

video_writer.close()

我也得到了同样的结果outputdict={'-vf':f"fps={FRAMES_PER_SECOND}"}

最佳答案

解决方案是将 inputdict={'-framerate':str(FRAMES_PER_SECOND)} 传递给 FFmpegWriter 而不是 outputdict -r.

inputdictoutputdict 都没有记录在 skvideo 中(没有提到 ffmpeg 文档,没有例子), -framerate 也没有在 the ffmpeg documentation 中正确记录(它说的是抓取而不是保存,并声称默认值为 30000/1001,尽管它是 25),-framerate 也不是甚至在调用 ffmpeg --help 时提到。

向@Goury 大声疾呼没有删除 this thread (这对这里有很大帮助)尽管在该线程中从 StackOverflow 社区收到了 -3 的负分。

关于python - 以每秒 60 帧的速度用 Python 编写视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70569583/

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