Opencv kompiliert Videos mit falschen fpsPython

Python-Programme
Anonymous
 Opencv kompiliert Videos mit falschen fps

Post by Anonymous »

Ich habe Python-Code, der Frames mit Pil generiert und sie dann von OpenCV zu Video kompiliert. Auf einem Computer funktioniert alles großartig, aber jetzt versuche ich, denselben Code auf einem Tablet auszuführen, und ich bekomme nicht die richtige Framerate/Dauer hin. Die Dateiinformationen zeigen, dass es 60 fps sind, aber die Dauer beträgt nur 1 s, obwohl sie 7 s betragen sollte.
Dann habe ich versucht, zwischen dem Kompilieren der Frames „sleep(0.017)(60fps)“ einzufügen, und es funktioniert! Aber jetzt muss ich genauso lange warten, wie das Video ist...
Ich weiß nicht, was ich tun soll. Tablet Python verwendet 4.3.0 opencv und ich kann es nicht aktualisieren...
Hier ist der Code:

Code: Select all

duration = [5,2]
def create_video(frames, fps, duration, name):
duration_flip = 0
videodims = frames[0].size
fourcc = cv2.VideoWriter_fourcc(*'avc1')
cwd = os.getcwd()
video = cv2.VideoWriter(cwd + "\\" + name + ".mp4",fourcc, fps,videodims)
for frame in frames:
#print(frame)
for fps_frame in range(duration[duration_flip] * fps):
video.write(cv2.cvtColor(np.array(frame), cv2.COLOR_RGB2BGR))
#sleep(0.017)
duration_flip = 1 - duration_flip
video.release()
return 0

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post