# CokeeZVE **Repository Path**: cokee/CokeeZVE ## Basic Information - **Project Name**: CokeeZVE - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-08-14 - **Last Updated**: 2026-10-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CokeeZVE > 索尼 ZV-E10(Sony ZV-E10)增强遥控 / 媒体浏览 / 本地监看工具。 > 基于 PTP/IP 与 SDIO 协议开发,支持 Wi‑Fi Direct / 扫码 / 指定 IP / NFC 连接、实时取景、参数控制、媒体下载、本地相册与实况照片处理。 CokeeZVE 是一个面向索尼三代机(替代官方Imagine Edge Mobile)的 Android 相机增强工具,核心协议基于公开可考证的 PTP/IP(PTP3)与 SDIO 规范实现。 --- ## 特性 ### 连接 - Wi‑Fi Direct / 扫码(二维码)/ 指定 IP / NFC「一触连接」四种方式接入相机 - Sony PTP/IP(TCP 15740)+ SDIO 认证(适配 ZV-E10 单 PTP initiator 限制,共享会话串行化) - 断线自动恢复(有限次退避重连)、长空闲 watchdog 保活 ### 遥控 / 实时取景 - **LiveView 实时取景**:PTP 拉帧(`0x1009 / 0xFFFFC002`),最高约 25fps - 拍照、录像、ISO / 快门 / 光圈 / 曝光补偿 / 白平衡 / 半按 / Touch AF 等基础遥控(PTP 属性 + 控制码) - 曝光面板、网格/取景辅助 ### 媒体 - PTP 对象浏览:时间轴网格 + 按天日期视图,RAW/JPG 孪生合并显示 - PTP 缩略图(`GetThumb`)与**高速 SCN 预览**(`0x9803`)按需加载 - 大图预览:原生 JPEG 分块(64 KiB)流式下载 + 缩放 + 左右翻页 - 下载队列:全局串行队列、优先级、批量下载、RAW 策略(每次都询问 / 默认jpg / jpg+raw / 仅raw)、断线与失败分类 - Push(「发送到智能手机」)自动接收(PTP/IP + 虚拟存储 `0xF10001`) - 本地相册:时间轴 / 日期视图 / 实况分类 / EXIF 面板 / 删除 / 分享 / 导入 ### 影像 - **实况照片(Live Photo)**:单文件 XMP Motion Photo 检测与播放;视频导出实况(MediaExtractor/MediaMuxer 重封装) - **本地视频播放 + HDR 识别**(Media3,HDR10+/HLG/HDR10 徽标) - EXIF 详情(日期/位置/相机型号/分辨率/ISO/快门/光圈/焦距/EV) ### BLE(独立低功耗链路) - BLE 遥控快门(RMT-P1BT 协议):快门 / 对焦 / 录像 / 变焦 - 原生位置关联(DD 服务,后台自动扫描并同步手机位置到相机) - 远程电源(CC 服务,开机唤醒 + Wi‑Fi 接力) ### 体验 / 工具 - Material 3 Expressive 主题(动态取色、淡色/深色、自定义配色) - COUI 毛玻璃大图预览背景、预测式返回动画、自适应布局 - 统一日志页(筛选/清空/导出)、通知历史(48h) --- ## 支持的相机 / 已知边界 - 已在 **Sony ZV-E10(固件 2.03)** 上实测验证 PTP/IP、LiveView、媒体浏览、BLE 遥控等主要链路。 - 依赖相机的 PTP/IP 能力与固件;不同机型/固件的属性表可能有差异,部分高级能力(曝光面板改值、Push、位置关联等)需在实机上确认。 - **USB 连接暂未实现**:计划复用现有 PTP 状态机、自研 USB bulk 传输层(参考 `Docs/TODO.md`)。 - 具体能力与实机验证状态详见 `Docs/`。 --- ## 技术栈 | 层 | 技术 | |---|---| | 语言 | Kotlin 2.4.10 | | UI | Jetpack Compose + Material 3 Expressive + Navigation 3(单 Activity) | | 构建 | AGP 9.3.0 / Gradle 9.7.0 | | SDK | compileSdk 37 · targetSdk 35 · minSdk 31(Android 12+) | | 关键依赖 | media3(视频/播放)、coui-blur(毛玻璃)、material-kolor(取色)、navigation3、zxing(扫码)、exifinterface、isoparser/mp4parser | | 协议 | 自研 PTP/IP + Sony SDIO(`protocol/`)+ BLE(`data/ble/`) | | 测试 | JUnit 单测(`testDebugUnitTest`)+ pc-test(PC 直连相机验证脚本) | --- ## 目录结构 ``` CokeeZVE/ Android 主模块(包名 moe.cokeetech.camremote) app/src/main/java/moe/cokeetech/camremote/ protocol/ PTP/IP + SDIO 协议层(会话、握手、媒体探针、事件) data/remote/ LiveView / Web API / 会话 / 前景服务 data/ble/ BLE 协议(遥控快门、位置关联、远程电源) data/wifi/ Wi‑Fi / 相机网络 / Push data/download/ 下载队列 data/livephoto/ 实况照片(XMP / 重封装) data/media/ 视频 HDR 检测 data/notification/ 通知中心 ui/ Compose 页面(screen/component/theme/viewmodel) Docs/ 计划、考证(PLAN_*)、评审、归档文档 pc-test/ PC 直连相机调试脚本(Python,验证协议) ``` --- ## 构建 ```bash # 构建 Debug APK CokeeZVE\gradlew.bat --no-daemon assembleDebug --console=plain # 运行 JVM 单测 CokeeZVE\gradlew.bat --no-daemon testDebugUnitTest --console=plain ``` - 构建需 Android SDK 与 JDK;若网络不稳定,构建脚本已配置阿里云镜像仓库,也可通过 HTTP 代理(`http://127.0.0.1:7890`)重试。 - **注意**:`local.properties`(含签名配置)与 `*.jks` 均在 `.gitignore` 中,不会也**不应**被提交。 --- ## 隐私与数据 - 相机连接需要位置权限(Wi‑Fi 直连发现)、蓝牙权限(BLE 遥控)、网络/媒体权限,均用于本地功能。 - 本项目使用了Sentry作为必要的崩溃记录和日志处理工具。 --- ## 免责声明 CokeeZVE 是一个**独立、非官方**的第三方开源项目,与索尼公司(Sony)及其子公司无任何关联,亦未获得索尼官方授权或认可。项目中的「Imaging Edge」等名称仅用于功能对标说明,商标归其各自所有者。本项目仅用于学习与个人使用,不保证与任何相机固件或服务的完全兼容;因使用本项目产生的任何后果,作者不承担责任。 --- ## 鸣谢 - 索尼公开的 Camera Remote Command PTP3 参考文档 - 各优秀开源依赖库与它们的维护者