Guf / Proliferation YouTuber [Tachibana Takashi, die mit "NHK" zunimmt und mit "break" verdoppelt](https: // www. synchronisiert mit youtube.com/watch?v=NcR2d8_iM9o): rollende_eyes: Mit genau dem richtigen Videomaterial können Sie anscheinend etwas mit opencv tun, z. B. Bereichsteilung, Gesichtserkennung, Löschen von Telop usw. Dieses Video hat 18 Minuten, aber ich möchte nur die erste Minute verwenden, wenn der Kandidat erscheint. Daher werde ich versuchen, nur einen Teil der Zeit nur mit Python und OpenCV zu extrahieren.
[](http://www.youtube. com / watch? v = iRi4od_Thus)
Ich habe versucht, mit "time.time ()" zu messen, aber es war erfolgreicher, es anhand der Anzahl der Frames zu steuern.
Auch, weil es "die erste Minute ist, in der der Kandidat erscheint"
Es wurde gemacht.
import cv2
if __name__ == '__main__':
cap = cv2.VideoCapture('drop_out_nhk.mp4')
cap_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
cap_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
writer = cv2.VideoWriter('one_minutes.mp4',fourcc, fps, (cap_width, cap_height))
#Start- oder Endzeit, die Sie extrahieren möchten
begin = 30
end = 90
for i in range(end * fps):
ret, frame = cap.read()
if ret:
if begin * fps < i:
writer.write(frame)
writer.release()
cap.release()
Ich denke, das ist nur eine Minute.
Ich dachte, ich würde "asyncio" verwenden, aber ich konnte es ziemlich einfach implementieren. Wenn ich die Bildgröße ändere, mache ich aus irgendeinem Grund einen Fehler mit dem Codec.
Recommended Posts