Skip to content

Add Intro/Outro to Videos

💬 Overview

Imagine a virtual DJ mixing deck where you can seamlessly blend multiple videos into one epic timeline. Whether you're adding flashy intros, snazzy outros, or even splicing in some behind-the-scenes footage, this feature lets you take your video content to the next level!
In this tutorial, let’s dive into how you can seamlessly integrate multiple videos onto a single timeline. Users can easily enhance their video content by appending intros, outros, or supplementary segments. The workflow is straightforward and scalable.
intro outro (2).png

Setup

📦 Installing packages

%pip install videodb

🔑 API Keys

Before proceeding, ensure access to
light
Get your API key from . ( Free for first 50 uploads, No credit card required ) 🎉
import videodb
import os
from getpass import getpass

# Prompt user for API key securely
api_key = getpass("Please enter your VideoDB API Key: ")
os.environ["VIDEO_DB_API_KEY"] = api_key

Implementation

🌐 Step 1: Connect VideoDB

Connect to VideoDB using your API key to establish a session for uploading and manipulating video files. Import the necessary modules from VideoDB library to access functionalities.
from videodb import connect

# Connect to VideoDB using your API key
conn = connect()
coll = conn.get_collection()

🎥 Step 2: Upload Videos

First, we upload an introductory video ("intro.mp4") and an outro video ("outro.mp4") into the collection, followed by the base video ("sugar_craving.mp4"). This approach allows us to efficiently reuse the intro and outro videos for other projects by simply changing the base video, thereby saving time and streamlining the video creation process.
You can upload the video asset from your local device or from a YouTube URL to upload the video from its source.
intro = coll.upload(url="https://github.com/video-db/videodb-cookbook-assets/raw/main/videos/intro.mp4")
outro = coll.upload(url="https://github.com/video-db/videodb-cookbook-assets/raw/main/videos/outro.mp4")
base = coll.upload(url="https://github.com/video-db/videodb-cookbook-assets/raw/main/videos/sugar_craving.mp4")

🎼 Step 3: Create assets

Adjust parameters for all the video assets according to your preference, such as start and end times.
from videodb.editor import VideoAsset

intro_asset = VideoAsset(id=intro.id, start=0)
intro_duration = 3

base_asset = VideoAsset(id=base.id, start=0)
base_duration = 90

outro_asset = VideoAsset(id=outro.id, start=0)
outro_duration = 3

▶️ Step 4: Create timeline

Create video assets using the Editor SDK. The start parameter in VideoAsset trims from the beginning, and the duration in Clip controls how long the clip plays.
from videodb.editor import Timeline, Track, Clip

timeline = Timeline(conn)

# Create main track
track = Track()

# Add intro clip at 0 seconds
intro_clip = Clip(asset=intro_asset, duration=intro_duration)
track.add_clip(0, intro_clip)

# Add base video clip after intro
base_clip = Clip(asset=base_asset, duration=base_duration)
track.add_clip(intro_duration, base_clip)

# Add outro clip after base video
outro_clip = Clip(asset=outro_asset, duration=outro_duration)
track.add_clip(intro_duration + base_duration, outro_clip)

timeline.add_track(track)


▶️ Step 5: Play the generated video stream

from videodb import play_stream

stream = timeline.generate_stream()
play_stream(stream)
Preview the video to ensure it functions correctly. Once satisfied, generate a stream of the video and share the link for others to view and enjoy this wholesome creation!
Output:
This embedded link can't be shown.

🎉 Conclusion

You can now efficiently manipulate and assemble video elements, resulting in professional-quality compositions.
Join the VideoDB community on or for support and collaboration. In the meanwhile, check out the other exciting outputs generated using this tutorial and share yours in our too! We’d love to feature you ⚡️
 
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.