from videodb.editor import Timeline, Track, Clip, VideoAsset
from videodb import play_stream
# Define timing
insert_time = 10 # Insert ad at 10 seconds
base_duration = int(base_video.length)
ad_duration = int(ad_video.length)
# Create timeline and track
timeline = Timeline(conn)
track = Track()
# Clip 1: Base video from 0 to insert_time
clip1 = Clip(
asset=VideoAsset(id=base_video.id),
duration=insert_time
)
track.add_clip(0, clip1)
# Clip 2: Full ad video
clip2 = Clip(
asset=VideoAsset(id=ad_video.id),
duration=ad_duration
)
track.add_clip(insert_time, clip2)
# Clip 3: Base video continues from insert_time to end
clip3 = Clip(
asset=VideoAsset(id=base_video.id, start=insert_time),
duration=base_duration - insert_time
)
track.add_clip(insert_time + ad_duration, clip3)
# Generate stream
timeline.add_track(track)
stream_link = timeline.generate_stream()