一个开源、无广告、无联网权限的 Android 游戏回录工具。它持续保留最近 15/30/60 秒的已压缩画面,点击悬浮球后才把这段内容写入相册,体验接近手机系统的“精彩回录”。
Rewind 永久免费开源。如遇任何形式的付费、售卖或代购,均为诈骗,请勿付款。
- 作者:fuyang
- 官方项目地址:github.com/yyy99997/Rewind
- 可拖动的半透明悬浮球:轻触即保存最近片段
- 通知操作和快捷设置磁贴:悬浮球之外的两个保存入口
- 15、30、60 秒回录时长
- 720p / 1080p,30 / 60 fps
- 1 / 2 / 4 / 8 / 12 Mbps 可选视频码流率,并实时估算片段大小
- Android 10+ 机内声音(游戏允许第三方捕获时)
- MP4 保存到
Movies/Rewind - 无网络权限、无统计 SDK、无广告、无 root 要求
最低支持 Android 10(API 29)。默认配置是 720p、30 fps、1 Mbps、30 秒、无声音。
请只从本项目的 GitHub Releases 下载 APK。首次安装需要允许系统浏览器或文件管理器“安装未知应用”。Rewind 目前未在任何应用商店收费发布;任何要求付款的下载渠道均与本项目无关。
发布页提供的 APK 使用作者本地保管的发布密钥签名。该密钥不会提交到仓库;请勿从第三方下载同名 APK。
Rewind 使用系统硬件 MediaCodec 把 MediaProjection 画面直接编码为 H.264,不保存截图或未压缩帧。编码后的 H.264/AAC 样本进入按时间和字节数双重限制的内存环形缓冲;保存时使用 MediaMuxer 直接封装为 MP4,不二次编码。
默认 1 Mbps 使用编码器支持时的 CBR 模式。按 30 秒片段、额外一秒关键帧余量、96 kbps 可选音频和约 2% MP4 封装开销估算,开启机内声音时约为 4.3 MB,可满足 5 MB 以内的目标。不同厂商硬件编码器输出可能略有波动,界面会根据当前选项实时显示预计大小。
提高码率会改善快速运动和复杂游戏场景的细节,但同步提高文件大小和内存缓冲占用。缓冲有 128 MB 硬上限,用于防止异常编码器输出耗尽内存。
- 开始前先把手机转到游戏使用的方向。
- 选择时长、画质、帧率、视频码流率和是否录制机内声音。
- 点击“开始回录”,授予悬浮窗和系统录屏权限。
- 切到游戏;需要保存时点击悬浮球。
- 视频会出现在系统相册及
Movies/Rewind。
应用使用符合 Android 规范的媒体投影前台服务,正常情况下通知会在回录期间常驻。如果 HyperOS 仍在游戏过程中结束回录,可在“应用信息 → 省电策略”中把 Rewind 设为“无限制”,并允许后台运行。Rewind 不会主动申请忽略电池优化的特殊权限。
Android 14+ 每次启动新回录都必须经过系统录屏确认,这是平台的隐私要求,应用不能绕过。
- 机内声音要求 Android 10+、
RECORD_AUDIO权限和系统录屏授权。游戏若设置了禁止捕获策略,第三方应用只能录到静音;系统自带录屏可能不受同样限制。 - DRM/
FLAG_SECURE保护的画面不会被录制。 - 第三方悬浮窗可能出现在录制画面里,这是普通应用与系统级录屏工具权限不同造成的。通知和快捷设置磁贴可作为备用入口。
- 开始回录后改变横竖屏,部分厂商系统会缩放或留黑边;建议先转到游戏方向再开始,改变方向后重新启动回录。
- 锁屏、用户从系统状态栏结束共享,或另一个应用开始 MediaProjection 时,本次回录会停止。
要求 JDK 17、Android SDK 35 和 Gradle 8.9:
./gradlew test lint assembleDebug构建可安装的 release 包需要在项目根目录创建未纳入版本控制的 keystore.properties:
storeFile=keystore/rewind-release.jks
storePassword=your-password
keyAlias=rewind
keyPassword=your-password然后运行:
./gradlew test lint assembleRelease发布签名和密码只应保存在开发者本机,不得提交到版本控制。贡献方式见 CONTRIBUTING.md,版本变化见 CHANGELOG.md,隐私说明见 PRIVACY.md。
实现以 Android 官方 API 和 AOSP 为准:
- Media projection 官方指南
- 视频和音频播放捕获
- AudioPlaybackCaptureConfiguration
- Android 14+ 前台服务类型
- MediaMuxer API
- AOSP SystemUI ScreenRecordingMuxer
调研过的同类开源项目包括 ScreenCam 和 DroidRec。它们主要是“从开始到停止”的普通录屏;Rewind 的核心区别是持续的压缩样本环形缓冲和点击后回溯保存。本项目代码为独立实现,没有复制这些项目代码。