Skip to main content
Open In Colab

Overview

Welcome to the groovy world of audio overlays with VideoDB! 🎶 In this tutorial, we’re diving into the magic of adding audio overlays to your video assets. Picture this: you’ve got your video content all set, but it’s missing that extra oomph. That’s where audio overlay swoops in to save the day! With VideoDB’s easy-to-use feature, you can seamlessly weave in background music, voiceovers, or funky sound effects, transforming your videos from ordinary to extraordinary. Let’s crank up the volume and get ready to rock and roll!

Setup

Installing packages

!pip install videodb

API Keys

Before proceeding, ensure access to VideoDB Get your API key from VideoDB Console. ( Free for first 50 uploads, No credit card required)

Steps

Step 1: Connect to VideoDB

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

# Set your API key
api_key = "your_api_key"

# Connect to VideoDB
conn = videodb.connect(api_key=api_key)
coll = conn.get_collection()

Step 2: Upload Video

Upload the video to VideoDB collection. You can upload the video asset from your local device or from a YouTube URL to upload the video from its source.
video = coll.upload(url="https://youtu.be/e49VEpWg61M")
video.play()
You can upload from your local file system too by passing file_path in upload() Here’s the video we’ll be using for this tutorial:

Step 3: Upload Audio

Upload the audio file to VideoDB collection. You can upload the audio asset from your local device or from a YouTube URL to upload the audio from its source. Make sure to mention media_type if you want to use audio track of a video.
audio = coll.upload(url="https://youtu.be/_Gd8mbQ3-mI", media_type="audio")

Step 4: Create assets

Create assets for Audio and Video using VideoAsset and AudioAsset from the Editor SDK.
from videodb.editor import VideoAsset, AudioAsset

video_asset = VideoAsset(id=video.id, volume=0.5) # Reducing volume of the original video

audio_asset = AudioAsset(id=audio.id)

Step 5: Create a Timeline

Create a timeline using the Track and Clip pattern. Add the video clip and audio clip to a track, then add the track to the timeline.
from videodb.editor import Timeline, Track, Clip

# Create a new timeline
timeline = Timeline(conn)

# Create a track with video and audio clips
track = Track()

# Add video clip (full duration)
video_clip = Clip(asset=video_asset, duration=float(video.length))
track.add_clip(0, video_clip)

# Add audio overlay clip starting at 0
audio_clip = Clip(asset=audio_asset, duration=float(video.length))
track.add_clip(0, audio_clip)

timeline.add_track(track)

Final Step: Review and Share

Preview the video with the integrated voiceover 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!
from videodb import play_stream

stream = timeline.generate_stream()
play_stream(stream)

Conclusion

And there you have it, folks! We’ve unlocked the door to audio awesomeness with VideoDB’s audio overlay feature. By seamlessly integrating background music, voiceovers, or sound effects into your videos, you’re not just adding layers of sound – you’re adding layers of engagement, emotion, and excitement!

Explore Full Notebook

Open the complete implementation in Google Colab with all code examples.