import ffmpeg class Streamer: def __init__(self, screendef: str, screensize: str, protocol: str, target: str) -> None: self.screendef = screendef self.screensize = screensize self.protocol = protocol # should be 'tcp' or 'udp' self.target = target def start(self): self.input = ffmpeg.input(self.screendef, f='x11grab', r=60, s=self.screensize) self.output = ffmpeg.output(self.input, self.protocol + '://' + self.target, f='mpegts', vcodec='nvenc_hevc', tune='zerolatency') self.proc = ffmpeg.run_async(self.output)