我正在尝试构建一个低延迟的流媒体软件,但我找不到将视频录制和编码为 H.264/HEVC 的好方法,以及我们如何将所有这些都插入aiortc流。我以为我会使用 FFMPEG 进行屏幕捕获和编码,但是我也找不到任何通过 aiortc 进行流式传输的指南。
我意识到这将是整个项目,但是,就像我说的那样,我找不到任何好的指南。
任何帮助将不胜感激!
编辑:我让它使用ffmpeg-python捕获和编码,但我仍然不知道如何通过 webrtc 传递它。我试图将它传递给 aiortc 中的 MediaPlayer 函数,但这并没有在网页上提供任何输出。
我从 aiortc github repo 上的示例中编辑了 webcam.py 代码,如下所示:
if args.play_from:
process = (
ffmpeg
.input(format='gdigrab', framerate=60, filename="desktop")
.output('pipe:', format='rawvideo', pix_fmt='rgb24')
.run(capture_stdout=True)
)
video = (
np
.frombuffer(process, np.uint8)
)
player = MediaPlayer(video)
我将如何让它通过 aiortc 流式传输?