Hi there, I am trying to proccess 60fps video using opencv cv2.VideoCapture method but when we proccess the video the output video is getting slow and dropping the fps. For this problem i tried some solutions like multithreading but in that case video getting fast than the normal video speed. How do i get the normal speed of the 60fps video in opencv ?
there is no thing like that
(unreasoable expectation, assuming, you’re using off-the -shelf hw)
how would that be ? are you trying to write a video file ?
(and that runs too fast, bc processing makes it time-lapse ?)
processing isn’t for free. please show, what you’re doing, maybe we can help optimizing it a bit
opencv does a lot of data-parallel multithreading under the hood. tacking your own thread parallel thing on top of it rarely helps (and threads aren’t for free, either)
again, show hw / os / opencv version / code
show us what you did. nobody can debug what they aren’t being shown.
hw- Dell 11th Gen Intel(R) Core™ i7-11390H @ 3.40GHz 2.92 GHz
os- windows 11pro
opencv version- 4.6.0
I am trying to read the video of 60fps
if os.path.isfile(self.frame_source) and pathlib.Path(self.frame_source).suffix.lower() in ['.mp4', '.mov',
'.avi', '.mkv']:
cap = cv2.VideoCapture(self.frame_source)
else:
raise TypeError("Unsupported file type or file extensions.")
try:
while True:
if cap and not cap.isOpened:
break
if cap:
ret, frame = cap.read()
if cap and ret:
h, w = frame.shape[:2]
if w > h:
p = abs(h - w) // 2
frame = cv2.copyMakeBorder(frame, p, p, 0, 0, cv2.BORDER_CONSTANT)
if ret:
# detect & generate face landmarks using mediapipe.
self.detect_face_landmarks(frame)
# save landmarks in PLY
self.save_ply(tc)
if self.need_visualiser:
pcd, vis, app = self.open3d(pcd, vis, app)
self.frm += 1
tc.add_frames(1)
# display frames in window.
if cap or ret:
cv2.imshow("Vide File", frame)
# press 'esc' key to quit frame display and visualiser.
if cv2.waitKey(1) & 0xFF == 27:
break
probably the bottleneck here …
please properly profile your code, before making assumptions about what / how to optimize