Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import subprocess
- import sys
- from argparse import ArgumentParser
- from pathlib import Path
- # filter_top_right = "overlay=main_w-overlay_w-5:5"
- # filter_top_right = "overlay=main_w-overlay_w-5:5:format=auto,format=yuv420p"
- filter_top_right = "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=main_w-overlay_w-5:5:format=auto,format=yuv420p"
- def add_watermark(
- input_video: Path, output_video: Path, watermark: Path, overwrite: bool = True
- ) -> bool:
- if not input_video.exists() or not watermark.exists():
- return False
- if overwrite:
- output_video.unlink(missing_ok=True)
- elif output_video.exists():
- return False
- cmd = [
- "ffmpeg",
- "-i",
- input_video,
- "-i",
- watermark,
- "-filter_complex",
- filter_top_right,
- "-codec:a",
- "copy",
- output_video,
- ]
- return subprocess.run(cmd).returncode == 0
- def get_args():
- parser = ArgumentParser()
- parser.add_argument("input", type=Path, help="Input Video")
- parser.add_argument("watermark", type=Path, help="Watermark picture")
- parser.add_argument("output", type=Path, help="Output Video")
- return parser.parse_args()
- if __name__ == "__main__":
- args = get_args()
- add_watermark(args.input, args.output, args.watermark)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement