INNER CODE UNIT · Python
read_video_frames
roboflow/awesome-openai-vision-api-experiments · experiments/gpt4v-narration/app.py:21
def read_video_frames(video_path, skip_frames=10):
video = cv2.VideoCapture(video_path)
base64_frames = []
frame_count = 0
while video.isOpened():
success, frame = video.read()
if not success:
break
if frame_count % skip_frames == 0:
_, buffer = cv2.imencode(".jpg", frame)
base64_frames.append(base64.b64encode(buffer).decode("utf-8"))
frame_count += 1
video.release()
return base64_frames
def generate_script(frames):
prompt_messages = [
{