FFmpeg Wrapper for Python This module provides a Pythonic interface to FFmpeg, allowing users to construct and execute FFmpeg commands programmatically. It simplifies video and audio processing tasks such as format conversion, filtering, and transcoding.
pip install git+https://github.com/electro199/ffmpeg.py.git
This project does not install ffmpeg utility automatically.
Using winget:
winget install --id=Gyan.FFmpeg -e
or download and install FFmpeg from FFmpeg official website:
- Download the latest FFmpeg build from here.
- Extract the archive and add the
bin
directory to your systemPATH
.
Using Homebrew:
brew install ffmpeg
For Debian/Ubuntu:
sudo apt install ffmpeg
Verify installation:
ffmpeg -version
Documention read docs here.
For simple media conversion :
from ffmpeg.inputs import VideoFile
from ffmpeg import export
clip = VideoFile("video.mp4")
export(
clip,
path="out.mkv",
).run()
FFmpeg.py support complex Filters and can be used with apply
or apply2
, apply2 is for multi output filters like Split and Concat.
from ffmpeg.ffmpeg import FFmpeg
from ffmpeg.inputs import InputFile, FileInputOptions
from ffmpeg.filters import apply, Scale, Overlay
from ffmpeg.models.output import Map
# set options
clip = InputFile("video.mp4", FileInputOptions(duration=10))
overlay = InputFile("overlay.png")
# apply scale filter on clip
upscaled_clip = apply(Scale(1440, 1920), clip)
# apply scale filter on overlay
overlay = apply(Scale(100, 100), overlay)
# apply overlay filter with overlay on upscaled_clip
upscaled_clip = apply(Overlay(overlay, x=0, y=10), clip)
# run command
ffmpeg = FFmpeg().output(Map(upscaled_clip), path="out.mp4").run(progress_callback=print)