我正在构建一个颤振应用程序,我需要连接并查看我们大楼内Hikvision摄像头的实况提要:
我试过这两个库,但它们很老,我无法让它们工作:
flutter_hk:^1.0.2 => --它不支持‘零安全’,所以我无法构建我的应用程序https://pub.dev/packages/flutter_hk/install
( b) remote_ip_camera:^2.0.0 =>由于它使用的是FlatButton & RaisedButton https://pub.dev/packages/remote_ip_camera/example之类的旧小部件,所以出现了许多错误
如何从我的颤栗应用程序中实现这种连接,并在“容器”小部件中显示相机馈送呢?我有我的相机IP地址,端口,用户名和密码。
我到处找过,但找不到来自Hikvision或任何其他IP相机制造商的任何官方文件。
发布于 2022-11-21 08:36:03
我使用https://pub.dev/packages/flutter_vlc_player来传输hikvision摄像机的rtsp流。
用下面的代码创建一个小部件video_streaming_window.dart
import 'package:flutter/material.dart';
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
class VideoStreamingWindow extends StatefulWidget {
final String url;
const VideoStreamingWindow({Key key, this.url}) : super(key: key);
@override
State<VideoStreamingWindow> createState() => _VideoStreamingWindowState();
}
class _VideoStreamingWindowState extends State<VideoStreamingWindow> {
VlcPlayerController _videoPlayerController;
@override
void initState() {
super.initState();
_videoPlayerController = VlcPlayerController.network(
widget.url,
autoInitialize: true,
hwAcc: HwAcc.full,
autoPlay: true,
options: VlcPlayerOptions(),
);
}
@override
void dispose() {
super.dispose();
_videoPlayerController.pause();
_videoPlayerController.dispose();
}
@override
Widget build(BuildContext context) {
return VlcPlayer(
controller: _videoPlayerController,
aspectRatio: 16 / 9,
placeholder: const Center(
child: CircularProgressIndicator(
color: Colors.white,
)),
);
}
}在VideoStreamingWindow(url: 'rtsp://<username>:<password>@<camera-ip>/ISAPI/Streaming/channels/<channel-no>')需要的地方,在UI中调用它
https://stackoverflow.com/questions/74267857
复制相似问题