From 12c54045e34dc5acb1e5e59e81ede9fecbd1130f Mon Sep 17 00:00:00 2001 From: "sky.min" Date: Sat, 10 Oct 2026 17:25:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80video=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++---- example/README.md | 6 ++--- example/lib/tabs/video_talk_tab.dart | 2 +- example/pubspec.lock | 34 +++++++++++++++++----------- example/pubspec.yaml | 15 +++++++++--- 5 files changed, 44 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index e930fe1..27da1c9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Flutter 智能锁接入 SDK。SDK 封装了星云账户、蓝牙扫描和配对 ## 交付内容 -实际交付根目录包含下列五个同级目录。`flutter_sdk` 通过相对路径依赖前三个底层包;`video_decode_plugin` 是示例工程的视频渲染可选组件: +`flutter_sdk` 通过固定 Git 提交依赖 `starlock_ble`、`starcloud` 和 `starchart`;`video_decode_plugin` 是示例工程的视频渲染可选组件: ```text vendor/ @@ -33,7 +33,7 @@ vendor/ ## 安装 -将 `flutter_sdk`、`starlock_ble`、`starcloud`、`starchart` 放入宿主 App 的 `vendor/`。需要使用示例同款 FFmpeg 视频渲染时,再一并放入 `video_decode_plugin`。 +宿主项目需要具有读取 `minbingbing` 名下私有 Gitea 仓库的权限。`flutter_sdk` 的底层 SDK 依赖会在 `pub get` 时按固定提交自动拉取,不需要放入同级 `vendor/` 目录。 宿主 `pubspec.yaml` 的最小依赖只需要声明 `flutter_sdk`: @@ -46,7 +46,7 @@ dependencies: path: vendor/flutter_sdk ``` -`flutter_sdk` 的 `pubspec.yaml` 已通过 `path: ../starlock_ble`、`../starcloud`、`../starchart` 引用同级底层包,因此宿主执行一次依赖安装即可递归解析全部核心包: +`flutter_sdk` 的 `pubspec.yaml` 已通过固定 Git 提交引用底层包,因此宿主执行一次依赖安装即可递归解析全部核心包: ```bash fvm flutter pub get @@ -56,7 +56,9 @@ fvm flutter pub get ```yaml video_decode_plugin: - path: vendor/video_decode_plugin + git: + url: https://code.skychip.top/sky/video_decode_plugin.git + ref: 26ce13204e017f421c6b236c0342a40c0cd120ac ``` 然后仍只需要在宿主 App 根目录再执行一次 `fvm flutter pub get`。**不需要**为正常集成专门进入 `video_decode_plugin`、`starlock_ble`、`starcloud` 或 `starchart` 逐个执行 `pub get`;只有开发/测试这些包自身或运行它们的独立 example 时才需要。 @@ -280,7 +282,7 @@ final status = await StarCloudClient.instance.wifi.getGatewayStatus( ### 6. 视频对讲 -视频对讲服务只负责注册、呼叫和事件分发;H264 解码渲染、G711 编解码、麦克风采集与权限处理由宿主 App 集成。示例工程使用本地 `video_decode_plugin` 的 FFmpeg 后端进行 H264 解码渲染。 +视频对讲服务只负责注册、呼叫和事件分发;H264 解码渲染、G711 编解码、麦克风采集与权限处理由宿主 App 集成。示例工程使用 `video_decode_plugin` 的 FFmpeg 后端进行 H264 解码渲染。 ```dart await StarCloudClient.instance.talk.init( diff --git a/example/README.md b/example/README.md index ebc0dfc..97f4c51 100644 --- a/example/README.md +++ b/example/README.md @@ -9,7 +9,7 @@ - Flutter 3.19.6(项目通过 FVM 管理) - Android 真机或 iOS 真机 - 已按根目录 [README](../README.md) 配置蓝牙、定位、网络、麦克风和相机权限 -- 需要 `flutter_sdk`、`starlock_ble`、`starcloud`、`starchart` 及 `video_decode_plugin` 位于当前相对路径所指向的位置 +- 需要具有读取相关私有 Gitea 仓库的权限;底层 SDK 与 `video_decode_plugin` 会按 `pubspec.yaml` 固定的 Git 提交拉取 安装依赖并运行: @@ -19,7 +19,7 @@ fvm flutter pub get fvm flutter run ``` -不需要先进入 `../../video_decode_plugin` 执行 `fvm flutter pub get`:本示例的 `pubspec.yaml` 已以 `path: ../../video_decode_plugin` 声明该插件,执行本目录的 `fvm flutter pub get` 会递归解析其依赖。只有修改插件源码或运行插件自身示例时,才进入插件目录单独执行该命令。 +不需要先进入 `video_decode_plugin` 执行 `fvm flutter pub get`:执行本目录的 `fvm flutter pub get` 会按固定 Git 提交递归解析其依赖。只有修改插件源码或运行插件自身示例时,才进入插件目录单独执行该命令。 若只做代码检查: @@ -88,7 +88,7 @@ https://cloud.skychip.top/sdk [DIAG] decoder active engine=ffmpeg ``` -若日志显示 `mediacodec`,说明运行的不是当前 FFmpeg 配置;请检查本地 `video_decode_plugin` 路径、重新构建 APK,并确认未使用旧产物。 +若日志显示 `mediacodec`,说明运行的不是当前 FFmpeg 配置;请确认已解析 `video_decode_plugin` 的指定 Git 提交、重新构建 APK,并确认未使用旧产物。 ## 示例配置位置 diff --git a/example/lib/tabs/video_talk_tab.dart b/example/lib/tabs/video_talk_tab.dart index a5cbcb2..f07f675 100755 --- a/example/lib/tabs/video_talk_tab.dart +++ b/example/lib/tabs/video_talk_tab.dart @@ -212,7 +212,7 @@ class _VideoTalkTabState extends State { Future _doInitDecoder() async { if (_decoderReady) return true; try { - // 参考项目 Android 端的 video_decode_plugin 默认使用 FFmpeg;这里显式 + // video_decode_plugin 的 Android 端默认使用 FFmpeg;这里显式 // 保持同一后端,避免插件默认值变化时两端走出不同的解码流程。 final engineState = await VideoDecodePlugin.setDecodeEngine( VideoDecodePlugin.engineFfmpeg, diff --git a/example/pubspec.lock b/example/pubspec.lock index 4807d98..1da3b65 100755 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -607,23 +607,29 @@ packages: starchart: dependency: transitive description: - path: "../../starchart" - relative: true - source: path + path: "." + ref: "003705cf35ffc8039e749077197879e50ecc4248" + resolved-ref: "003705cf35ffc8039e749077197879e50ecc4248" + url: "https://code.skychip.top/minbingbing/starchart.git" + source: git version: "0.1.0" starcloud: dependency: "direct main" description: - path: "../../starcloud" - relative: true - source: path + path: "." + ref: "500c733e571bb9354812722ef7d16daf703d28b3" + resolved-ref: "500c733e571bb9354812722ef7d16daf703d28b3" + url: "https://code.skychip.top/minbingbing/starcloud.git" + source: git version: "0.1.2" starlock_ble: dependency: "direct main" description: - path: "../../starlock_ble" - relative: true - source: path + path: "." + ref: "045a1ee931ddc8fa92a481358202023a19144187" + resolved-ref: "045a1ee931ddc8fa92a481358202023a19144187" + url: "https://code.skychip.top/minbingbing/starlock_ble.git" + source: git version: "0.1.0" stream_channel: dependency: transitive @@ -700,9 +706,11 @@ packages: video_decode_plugin: dependency: "direct main" description: - path: "../../video_decode_plugin" - relative: true - source: path + path: "." + ref: "26ce13204e017f421c6b236c0342a40c0cd120ac" + resolved-ref: "26ce13204e017f421c6b236c0342a40c0cd120ac" + url: "https://code.skychip.top/sky/video_decode_plugin.git" + source: git version: "0.0.1" vm_service: dependency: transitive @@ -721,7 +729,7 @@ packages: source: hosted version: "0.5.1" win32: - dependency: transitive + dependency: "direct overridden" description: name: win32 sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 175d79c..53e0908 100755 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -15,9 +15,13 @@ dependencies: flutter_sdk: path: .. starlock_ble: - path: ../../starlock_ble + git: + url: https://code.skychip.top/minbingbing/starlock_ble.git + ref: 045a1ee931ddc8fa92a481358202023a19144187 starcloud: - path: ../../starcloud + git: + url: https://code.skychip.top/minbingbing/starcloud.git + ref: 500c733e571bb9354812722ef7d16daf703d28b3 crypto: ^3.0.3 shared_preferences: ^2.2.3 @@ -34,7 +38,12 @@ dependencies: permission_handler: ^11.3.1 # 视频对讲:H264 裸流解码渲染(本地插件,含 ffmpeg-kit) video_decode_plugin: - path: ../../video_decode_plugin + git: + url: https://code.skychip.top/sky/video_decode_plugin.git + ref: 26ce13204e017f421c6b236c0342a40c0cd120ac + +dependency_overrides: + win32: 5.5.0 dev_dependencies: flutter_test: