from videodb.editor import (
Background, Clip, Filter, Font, TextAlignment, TextAsset,
Timeline, Track, VideoAsset
)
timeline = Timeline(conn)
timeline.background = "#2B2B2B"
filters = [
Filter.greyscale, Filter.blur, Filter.contrast, Filter.darken,
Filter.lighten, Filter.boost, Filter.muted, Filter.negative,
]
track = Track()
for start, filter_value in enumerate(filters):
track.add_clip(
start * 5,
Clip(
asset=VideoAsset(id=video1.id, start=10),
duration=5,
filter=filter_value,
),
)
timeline.add_track(track)
filter_names = [
"Greyscale", "Blur", "Contrast", "Darken",
"Lighten", "Boost", "Muted", "Negative",
]
text_track = Track()
for start, filter_name in enumerate(filter_names):
text_asset = TextAsset(
text=filter_name,
font=Font(family="Clear Sans", size=36, color="#FFFFFF"),
background=Background(
color="#000000",
opacity=0.6,
height=60,
width=200,
text_alignment=TextAlignment.center,
),
)
text_track.add_clip(start * 5, Clip(asset=text_asset, duration=5))
timeline.add_track(text_track)
stream_url = timeline.generate_stream()