How to Combine an Audio and Video File With 7 Lines of Python

Jacob Naryan - Full-Stack Developer

Posted: Sat Apr 01 2023

Last updated: Wed Nov 22 2023

Have you ever needed to add a voice-over or some other audio track over a video? Well, there is a pretty simple way to automate this video editing task with a few lines of Python code.

1. Set Up

First, we need to import the required modules from moviepy. We'll be using VideoFileClip, AudioFileClip, and concatenate_videoclips. We'll also need to import the os module to access the directory of our files.

from moviepy.editor import VideoFileClip, AudioFileClip, concatenate_videoclips
import os

2. Get the Title

Next, we’ll ask the user for a title for the new video. This will be used to name the final video file.

# Get the desired video title
title = input("Enter a title: ")

3. Open the Video and Audio Files

Now we’ll open the video and audio files that we want to combine. We’ll use VideoFileClip and AudioFileClip to open the files.

# Open the video and audio
video_clip = VideoFileClip("video.mp4")
audio_clip = AudioFileClip("audio.mp3")

4. Concatenate Clips

Once we have opened the clips, we can combine them using concatenate_videoclips. This will combine the video clip with the audio clip to create a single clip with both elements.

# Concatenate the video clip with the audio clip
final_clip = video_clip.set_audio(audio_clip)

5. Export Video

Finally, we can use write_videofile to export the finished video with audio as an .mp4 file. The title that was entered earlier will be used as the file name for easy identification.

# Export the final video with audio
final_clip.write_videofile(title + ".mp4")

And that’s it! You’ve successfully combined your audio and video.

Watch the video tutorial here:

Thank you for reading. If you liked this blog check out more tutorials about software engineering here.

Need a developer?

Hire me  for all your Web Development needs.