1

我正在使用颤振 video_player 插件进行相机视频流。摄像头流来自 ESP32Cam 硬件。

ESP32Cam 使用 http 协议和 mjpeg 格式在网络上流式传输视频

在 VLC 媒体播放器中验证,编解码器信息如下:

编解码器:动态 JPEG 视频 (MJPG)

解码格式:Planar 4:2:2 YUV full scale

video_player 插件中流式传输视频所需的配置是什么?

这是我用于流式初始化的颤振代码:

late VideoPlayerController _controller;
 _controller = VideoPlayerController.network(
    //'https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4'
     "http://192.168.216.40",
    // formatHint: VideoFormat.hls,
    )
..initialize().then((_) {
  print("Streaming initialized...");
  // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
});

然后我在我的 Container 小部件中使用小部件

Container(
    child: VideoPlayer(_controller),
),

ESP32Cam 设置参考链接

4

2 回答 2

0

您可以使用没有空安全性的实时流媒体插件: https ://pub.dev/packages/mjpeg

安全性为零: https ://pub.dev/packages/flutter_mjpeg

于 2021-10-06T03:21:40.483 回答
0

您可以在文件中使用上述评论的插件pubspec.yaml并执行以下步骤

  1. bool isRunning = true;添加新的虚拟变量State<YourStateName>

  2. 将虚拟变量放入 Mjpeg[isLive] -> child: Mjpeg(isLive: isRunning, stream: ' replace with your local streaming URL')

您可以使用此链接获取更多信息https://youtu.be/2OjO6K5QuYs

于 2021-11-01T12:26:46.950 回答