【发布时间】:2012-12-04 02:07:29
【问题描述】:
好的,我正在制作视频。我想确切地知道如何使用 FPS 参数。它是一个浮点数,所以我认为这是我想要的每帧之间的间隔。能给我举个例子吗?我只想知道视频会如何随着不同的 FPS 参数值而变化。因为我制作的视频现在太快了。谢谢!
【问题讨论】:
标签: python video opencv windows-xp python-2.5
好的,我正在制作视频。我想确切地知道如何使用 FPS 参数。它是一个浮点数,所以我认为这是我想要的每帧之间的间隔。能给我举个例子吗?我只想知道视频会如何随着不同的 FPS 参数值而变化。因为我制作的视频现在太快了。谢谢!
【问题讨论】:
标签: python video opencv windows-xp python-2.5
真的就是这样 - frames per second。也就是说,你希望每秒显示多少帧?
这是一个例子:
writer = cv2.VideoWriter(filename="my_video.avi", #Provide a file to write the video to
fourcc=cv2.cv.CV_FOURCC('i','Y', 'U', 'V'), #Use whichever codec works for you...
fps=15, #How many frames do you want to display per second in your video?
frameSize=(width, height)) #The size of the frames you are writing
示例用法:
while True:
flag, frame = capture.read()
cv2.imshow("Camera", frame)
key_pressed = cv2.waitKey(10)
if key_pressed == 27: #Escape key
break
writer.write(frame)
cv2.destroyAllWindows()
因此,您将拥有一个视频文件,该文件由您的相机拍摄的所有静止帧拼接在一起形成一个视频。每秒显示的帧数将与您使用 fps 参数设置的一样。 (如果你的视频太快,我建议设置较低的fps)
我写了这段代码,所以我没有测试它,但它应该可以工作。如果您有任何疑问或问题,请告诉我。希望对你有帮助!
【讨论】:
kivy Clock.schedule_interval( func, 0) 而不是while loop 来记录我的屏幕,我尝试将fps 设置为15,@ 987654331@ 和 5 ,但对于 fps = 5 or 10 来说,对于快动作视频来说似乎有点滞后。有什么解决办法吗?
thread 来线程化一个使用while 循环来捕获帧的函数。我认为它可以捕获更多帧,但似乎还不够。我使用 print 打印 True 如果已经捕获 1 秒,否则 print("") 并且在打印出 True 之前我会得到 13 - 15 个空白行