fix: processor-counts API + ASRX field name conversion
- Fix processor-counts API to correctly read JSON counts: - YOLO: use frames.length (was returning null) - CUT: prioritize scenes.length over frame_count - Result: YOLO 1963 frames, CUT 25 scenes (correct) - Fix ASRX field name conversion: - Convert start_time/end_time → start/end for ASRX compatibility - Prefer frame-based positioning over time-based - Document issues in issues_2026-06-21.md: - Issue 6: ASRX field name mismatch - Issue 7: processor-counts API null values
This commit is contained in:
@@ -134,13 +134,24 @@ def _convert_result(result, output_path):
|
||||
}
|
||||
|
||||
for seg in result.get("segments", []):
|
||||
start_sec = seg["start"]
|
||||
end_sec = seg["end"]
|
||||
# Prefer frame-based (precise positioning)
|
||||
if "start_frame" in seg and "end_frame" in seg:
|
||||
start_frame = seg["start_frame"]
|
||||
end_frame = seg["end_frame"]
|
||||
start_sec = start_frame / fps
|
||||
end_sec = end_frame / fps
|
||||
else:
|
||||
# Fallback to time-based
|
||||
start_sec = seg.get("start", seg.get("start_time", 0))
|
||||
end_sec = seg.get("end", seg.get("end_time", 0))
|
||||
start_frame = int(start_sec * fps)
|
||||
end_frame = int(end_sec * fps)
|
||||
|
||||
output_result["segments"].append({
|
||||
"start_time": start_sec,
|
||||
"end_time": end_sec,
|
||||
"start_frame": int(start_sec * fps),
|
||||
"end_frame": int(end_sec * fps),
|
||||
"start_frame": start_frame,
|
||||
"end_frame": end_frame,
|
||||
"text": seg.get("text", ""),
|
||||
"speaker_id": seg.get("speaker_id", seg.get("speaker", "")),
|
||||
"language": seg.get("language", ""),
|
||||
|
||||
Reference in New Issue
Block a user