是否可以使用颤振相机插件流式传输视频?



我一直在使用相机插件,我知道有可能使用start/stopVideoRecording函数通过CameraController捕获视频,函数将采用文件的路径作为输入。

我希望能够在录制时将此视频流式传输到服务器,是否可以以某种方式使用相机插件的当前功能?

看起来这是可能的,因为它是在 Flutter Live 上通过其中一个开发演示完成的。在此处查看YouTube视频。24:17。 CameraController 上有一个名为 getByteStream 的方法。方法的要点如下所示。

void cameraBytesToDetector({@required CameraController camera}){
camera.startByteStream( (image) {
// do something with the image stream here
});
}

但是我在任何地方都找不到参考,因为我也在寻找一种读取视频流的方法。

你可以从 Dart 调用 Java/Kotlin 或 Objective-C/Swift 库。

我可以建议安卓库,

https://github.com/begeekmyfriend/yasea

https://github.com/ant-media/LiveVideoBroadcaster

您唯一需要做的就是为此类库开发一个 dart 接口。

Steve 提到的startByteStream功能实际上并没有添加到插件中,因为它最初只是被称为startByteStream,但实际上只提供图像。结果,在开发过程中,这个函数被重命名为startImageStream,如这个提交所示。所以有一个startImageStream,一旦你通过web-rtc获得图像帧,就可以将图像帧发送到后端。然后,您可以尝试单独录制音频并将其发送。

但是,startImageStream不包括任何音频,并且可能无法执行。添加字节流功能(包括音频(存在一个未解决的问题。GitHub 问题

截至目前,代码中不存在startByteStream

我不确定这是否回答了您的问题,但是有一个名为agora_rtc_engine的软件包可以做到这一点。

最新更新