video-compression-tool / video_compression.py
smellslikeml
added video_compression_tool
b43c9f8
raw
history blame contribute delete
616 Bytes
import ffmpeg
from transformers import Tool
class VideoCompressionTool(Tool):
name = "video_compression_tool"
description = """
This tool compresses input video/gif to optimized video/gif.
Inputs are input_path, output_path.
Output is output_path.
"""
inputs = ["text", "text"]
outputs = ["text"]
def __call__(self, input_path: str, output_path: str):
(
ffmpeg.input(input_path)
.filter_("split", "[0:v] split [a][b];[a] palettegen [p];[b][p] paletteuse")
.output(output_path)
.run()
)
return output_path