是否可以使用 flutter 相机插件流式传输视频?
Is it possible to stream a video with flutter camera plugin?
我一直在玩相机插件,我知道有可能通过 CameraController
和函数 start/stopVideoRecording
捕捉视频,这些函数将采用文件路径作为输入。
我希望能够在录制视频的同时将其流式传输到服务器,是否可以通过相机插件的当前功能以某种方式实现?
您可以从 Dart 调用 Java/Kotlin 或 Objective-C/Swift 库。
我可以建议 Android、
的库
https://github.com/begeekmyfriend/yasea
https://github.com/ant-media/LiveVideoBroadcaster
您唯一需要做的就是为此类库开发一个 dart 接口。
看起来这是可能的,因为它是在 Flutter Live 上通过其中一个开发演示完成的。查看 YouTube video here 。在 24:17。 CameraController 上有一个名为 getByteStream 的方法。方法的要点如下所示。
void cameraBytesToDetector({@required CameraController camera}){
camera.startByteStream( (image) {
// do something with the image stream here
});
}
但是我在任何地方都找不到参考,因为我也在寻找一种读取视频流的方法。
我不确定这是否能回答您的问题,但有一个名为 agora_rtc_engine 的软件包可以做到这一点。
Steve提到的startByteStream
功能实际上并没有添加到插件中,因为它最初只是调用startByteStream
,但实际上只提供图像。因此,在开发过程中,此功能已重命名为 startImageStream
,如本 commit 所示。所以有一个 startImageStream
,您可以在通过 web-rtc 将图像帧发送到后端后立即将其发送。那么,你可以尝试单独录制音频,然后也发送过来。
但是,startImageStream
不包含任何音频,并且性能可能不佳。添加字节流功能(包括音频)存在未决问题。 GitHub issue
截至目前,startByteStream
不存在于 code。
我一直在玩相机插件,我知道有可能通过 CameraController
和函数 start/stopVideoRecording
捕捉视频,这些函数将采用文件路径作为输入。
我希望能够在录制视频的同时将其流式传输到服务器,是否可以通过相机插件的当前功能以某种方式实现?
您可以从 Dart 调用 Java/Kotlin 或 Objective-C/Swift 库。
我可以建议 Android、
的库https://github.com/begeekmyfriend/yasea
https://github.com/ant-media/LiveVideoBroadcaster
您唯一需要做的就是为此类库开发一个 dart 接口。
看起来这是可能的,因为它是在 Flutter Live 上通过其中一个开发演示完成的。查看 YouTube video here 。在 24:17。 CameraController 上有一个名为 getByteStream 的方法。方法的要点如下所示。
void cameraBytesToDetector({@required CameraController camera}){
camera.startByteStream( (image) {
// do something with the image stream here
});
}
但是我在任何地方都找不到参考,因为我也在寻找一种读取视频流的方法。
我不确定这是否能回答您的问题,但有一个名为 agora_rtc_engine 的软件包可以做到这一点。
Steve提到的startByteStream
功能实际上并没有添加到插件中,因为它最初只是调用startByteStream
,但实际上只提供图像。因此,在开发过程中,此功能已重命名为 startImageStream
,如本 commit 所示。所以有一个 startImageStream
,您可以在通过 web-rtc 将图像帧发送到后端后立即将其发送。那么,你可以尝试单独录制音频,然后也发送过来。
但是,startImageStream
不包含任何音频,并且性能可能不佳。添加字节流功能(包括音频)存在未决问题。 GitHub issue
截至目前,startByteStream
不存在于 code。