This commit is contained in:
root 2025-07-10 23:44:04 +08:00
parent b7887caf9d
commit 562e49f028
1 changed files with 22 additions and 5 deletions

View File

@ -409,14 +409,31 @@ class TemplateManager:
# Extract segments # Extract segments
if 'segments' in track_data: if 'segments' in track_data:
for segment_data in track_data['segments']: for segment_data in track_data['segments']:
# Extract time information from target_timerange
target_timerange = segment_data.get('target_timerange', {})
start_time_us = target_timerange.get('start', 0) # 微秒
duration_us = target_timerange.get('duration', 0) # 微秒
# Convert microseconds to seconds
start_time = start_time_us / 1000000.0
duration = duration_us / 1000000.0
end_time = start_time + duration
# Get material reference for resource path
material_id = segment_data.get('material_id', '')
resource_path = ''
if material_id:
# TODO: Look up material path from materials list
resource_path = f"material_{material_id}"
segment = { segment = {
'id': segment_data.get('id', ''), 'id': segment_data.get('id', ''),
'type': segment_data.get('type', 'video'), 'type': segment_data.get('type', 'video'),
'name': segment_data.get('name', 'Unnamed Segment'), 'name': segment_data.get('name', f'Segment {len(track["segments"]) + 1}'),
'start_time': segment_data.get('start_time', 0), 'start_time': start_time,
'end_time': segment_data.get('end_time', 0), 'end_time': end_time,
'duration': segment_data.get('duration', 0), 'duration': duration,
'resource_path': segment_data.get('resource_path', ''), 'resource_path': resource_path,
'properties': segment_data.get('properties', {}), 'properties': segment_data.get('properties', {}),
'effects': segment_data.get('effects', []) 'effects': segment_data.get('effects', [])
} }