themblem/research/extract-frames.py
2025-03-02 10:21:05 +00:00

33 lines
973 B
Python
Executable File

#!/usr/bin/env python3
import os
import sys
import json
import base64
def save_image(data_url, fn):
pref = "data:image/jpeg;base64,"
if data_url.startswith(pref):
b = base64.b64decode(data_url[len(pref):])
ext = 'jpg'
pref = "data:image/png;base64,"
if data_url.startswith(pref):
b = base64.b64decode(data_url[len(pref):])
ext = 'png'
fn = f'{fn}.{ext}'
with open(fn, 'wb') as fd:
fd.write(b)
return fn
for r, ds, fs in os.walk('raw/camera-frame'):
for f in fs:
fn = os.path.join(r, f)
with open(fn, 'r') as fd:
data = json.load(fd)
phone_model = data.get('phone_model', 'unknown')
session_id = data.get('session_id', 'unknown')
seq_num = data.get('seq_num', 'unknown')
fn = os.path.join('data/frames', f'{phone_model}-{session_id}-{seq_num}')
fn = save_image(data['image_data_url'], fn)
print(fn)