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

时间:2018-06-15 09:46:37

标签: camera dart video-streaming flutter

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

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

4 个答案:

答案 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 的软件包可以做到这一点。