0

我正在尝试构建一个低延迟的流媒体软件,但我找不到将视频录制和编码为 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 流式传输?

4

1 回答 1

0

webrtc-remote-screen是我所知道的唯一一个功能完整的项目。我敢打赌,您可以从中提取捕获代码并移植到 aiortc。

Rafael 还在这里写了一篇博文。

于 2021-03-22T16:05:15.007 回答