Files
MediaFusion/utils/exception_video.py

29 lines
1.0 KiB
Python

import os
def create_text_video(
output_path, text, duration=30, resolution=(1280, 720), fontsize=45, bgcolor="black"
):
# Create a solid color background using FFmpeg
background_command = f"ffmpeg -f lavfi -i color=c={bgcolor}:s={resolution[0]}x{resolution[1]} -t {duration} -y background.mp4"
os.system(background_command)
# Overlay the text with shadow and fade-in and fade-out effects
text_command = (
f'ffmpeg -i background.mp4 -vf "drawbox=y=ih/4-10:color=black@0.4:width=iw:height=128:t=2,'
f"drawtext=text='{text}':fontcolor=white:fontsize={fontsize}:"
f"x=(w-text_w)/2:y=(h-text_h)/2:shadowx=2:shadowy=2:shadowcolor=black@0.5,"
f'fade=t=in:st=0:d=1,fade=t=out:st={duration-1}:d=1" -y {output_path}'
)
os.system(text_command)
# Remove the temporary solid color background video
os.remove("background.mp4")
if __name__ == "__main__":
create_text_video(
"resources/exceptions/inappropriate_content.mp4",
"This content may not be suitable for your preferences",
)