So literally all this package does is run CreateProcess on the ffmpeg.exe? That doesn't seem very much line a binding, but instead just a translation of function calls into command line arguments... Am I mistaken?
def merge_audio_and_video(video_path: str, audio_path: str) -> None:
""" Combines the audio and video recordings into a single file
https://ffmpeg.org/ffmpeg-filters.html#concat
"""
video = ffmpeg.input(video_path)
audio = ffmpeg.input(audio_path)
output = video_path.replace('.avi', '.mp4')
try:
ffmpeg.concat(video, audio, v=1, a=1).output(f'merged_{output}').run()
except FileNotFoundError:
logger.error('FileNotFound, ensure ffmpeg is installed.')
I had to write code like this lol, but it feels very stupid to have to install ffmpeg. If this is a "binding" it should be all included, and a single package setup, with everything included. Why do I have to install ffmpeg on top of this? Why not just directly spawn processes myself? The way this package is branded feels very misleading. It's more of a "wrapper" than "bindings"
So literally all this package does is run CreateProcess on the ffmpeg.exe? That doesn't seem very much line a binding, but instead just a translation of function calls into command line arguments... Am I mistaken?
I had to write code like this lol, but it feels very stupid to have to install ffmpeg. If this is a "binding" it should be all included, and a single package setup, with everything included. Why do I have to install ffmpeg on top of this? Why not just directly spawn processes myself? The way this package is branded feels very misleading. It's more of a "wrapper" than "bindings"