flutter + webrtc => python + aiortc + opencv

这个演示项目应能帮助您设置一个将视频流从Flutter应用发送到Python后端,以便使用OpenCV执行一些图像处理。

运行服务器

首先安装所需的包

$ cd server

$ pip install -r requirements.txt

启动示例时,它会创建一个HTTP服务器,您可以从浏览器连接到该服务器。

$ cd server

$ python main.py

然后您可以使用浏览器访问以下页面:

https://:8080

点击“开始”后,浏览器将从其摄像头将音频和视频发送到服务器。

服务器将播放预先录制的音频剪辑,并将接收到的视频发送回浏览器,还可以选择对其应用转换。

除了媒体流之外,浏览器还会通过数据通道发送“ping”消息,服务器则回复“pong”。

![Server index page](server_index.gif)

附加选项

如果您想启用详细日志记录,请运行:

$ cd server

$ python server.py -v

在Docker中运行服务器

如果您已安装Docker,请运行:

$ cd server

$ docker build -t aiortc_server .

$ docker run -p 8080:8080 -it –rm aiortc_server

然后您可以使用浏览器访问以下页面:

https://:8080

设置Flutter

首先安装所需的包。

现在您需要更新 `/offer` 路径以指向您的本地Python服务器。

![Flutter Demo](flutter_demo.gif)

鸣谢

服务器文件来自aiortc github项目。

https://github.com/aiortc/aiortc

GitHub

https://github.com/jcrisp88/flutter-webrtc_python-aiortc-opencv