我一直在玩相机插件,我知道有可能通过CameraController
使用函数start/stopVideoRecording
捕获视频,这些函数会将文件的路径作为输入
我希望能够在录制时将此视频流式传输到服务器,是否可以以某种方式使用相机插件的当前功能?
答案 0 :(得分:2)
看起来像在Flutter Live上使用其中一个开发演示所做的那样,这是有可能的。签出YouTube video here。在24:17。 CameraController上有一个名为getByteStream的方法。方法的要点如下所示。
void cameraBytesToDetector({@required CameraController camera}){
camera.startByteStream( (image) {
// do something with the image stream here
});
}
但是我也正在寻找一种读取视频流的方法,所以在任何地方都找不到参考。
答案 1 :(得分:1)
实际上没有将Steve提到的startByteStream
功能添加到插件中,因为最初它仅被称为startByteStream
,而实际上仅提供了图像。结果,如在此commit中所示,在开发过程中,此函数被重命名为startImageStream
。因此有一个startImageStream
,您可以通过web-rtc将图像帧发送到后端。然后,您可以尝试单独录制音频并将其发送出去。
但是,startImageStream
不包含任何音频,并且可能不起作用。添加字节流功能(包括音频)存在一个未解决的问题。 GitHub issue
到目前为止,code中不存在startByteStream
。
答案 2 :(得分:0)
您可以从Dart调用Java / Kotlin或Objective-C / Swift库。
我可以建议使用Android库,
https://github.com/begeekmyfriend/yasea
https://github.com/ant-media/LiveVideoBroadcaster
唯一要做的就是为此类库开发一个dart接口。
答案 3 :(得分:0)
我不确定是否能回答您的问题,但是有一个名为 agora_rtc_engine 的软件包可以做到这一点。