screenstreamer/screenstreamer/reciever.py

26 lines
610 B
Python
Raw Normal View History

2022-10-07 21:21:00 +02:00
import subprocess
class Reciever:
def __init__(self, protocol: str, target: str) -> None:
self.protocol = protocol # should be 'tcp' or 'udp'
self.target = target
2022-10-07 21:34:14 +02:00
self.proc = None
def __del__(self) -> None:
self.stop()
2022-10-07 21:21:00 +02:00
def start(self):
# currently there is no direct ffplay support in the ffmpeg package
addr = self.protocol+ '://' + self.target + '?listen'
self.proc = subprocess.Popen(['ffplay', '-fflags', 'nobuffer', '-flags', 'low_delay', '-f', 'mpegts', addr])
2022-10-07 21:34:14 +02:00
def stop(self):
if self.proc:
self.proc.terminate()
self.proc.wait(1)
self.proc.kill()
self.proc = None