#!/usr/bin/env python3
import subprocess
class FFmpeg:
input: str
output: str
format: str
bitrate: str | None
freq: int | None
def __init__(
self,
input="pipe:0",
output="pipe:1",
format="mp3",
bitrate=None,
freq=None,
):
self.input = input
self.output = output
self.format = format
self.bitrate = bitrate
self.freq = freq
def __get_cmd(self) -> list[str]:
cmd = ["ffmpeg", "-i", self.input, "-f", self.format, self.output]
if self.bitrate is not None:
cmd += ["-b:a", self.bitrate]
if self.freq is not None:
cmd += ["-ar", str(self.freq)]
return cmd
def run(self):
cmd = self.__get_cmd()
subprocess.Popen(cmd)
def main():
ff = FFmpeg(bitrate="128k", freq=8000)
ff.run()
if __name__ == "__main__":
main()