Pra*_*sad 2 python opencv raspberry-pi3
我正在尝试录制罗技网络摄像头视频。摄像机能够录制它,但 40 秒的视频仅以 nX 速度录制 6 秒。我参考了以下链接的解决方案,但它无法解决 RPi 中的问题。重要的是代码可以在 Ubuntu 桌面上找到,但可能 RPi 处理速度较慢。
这是我的代码片段:
fourcc = cv2.cv.CV_FOURCC(*'XVID')
videoOut = cv2.VideoWriter("video_clip.avi", fourcc, 20.0, (640, 480))
start_time = time.time()
frame_count = 0
while True:
ret, frame = cap.read()
videoOut.write(frame) # write each frame to make video clip
frame_count += 1
print int(time.time()-start_time) # print the seconds
if int(time.time()-start_time) == 10:
videoOut.release()
break
# get out of loop after 10 sec video
print 'frame count =', frame_count
# gives me 84 but expected is 20.0 * 10 = 200
Run Code Online (Sandbox Code Playgroud)
前段时间我也有同样的问题。我做了很多搜索,但没有找到解决方案。问题是传递的 fps 是视频播放的速率。这并不意味着视频将以该 FPS录制。AFAIK,没有直接的方法来设置记录的 FPS。如果您记录的 FPS 太高,您可以降低采样(即每个时间段仅保留 1 帧)。但从你的描述来看,似乎比要求的要低很多。这是硬件限制,对此无能为力。
关于设置记录的 FPS,我找到了一个解决方法。我在捕获列表中的所有帧后创建 videoWriter 。这样,我就可以计算记录的FPS并在创建时将其传递给VideoWriter。
归档时间: |
|
查看次数: |
2148 次 |
最近记录: |