视频轻压是一款 Android 视频压缩工具,基于 MediaCodec 硬件编码 + OpenGL ES 渲染管线。全部处理在设备本地完成,不上传任何数据。硬件加速比纯软件方案快 5-10 倍,5 种预设模板覆盖各种场景。
从纯离线处理到硬件加速,从预设模板到自定义参数,全方位满足视频压缩需求
全部计算在设备本地完成,无需网络连接,视频数据不会离开用户设备,隐私安全有保障。
使用 Android MediaCodec 硬件编码器 + OpenGL ES 着色器 GPU 缩放,比纯软件方案快 5-10 倍。
Surface-to-Surface 管线避免 CPU 侧像素数据回读,解码器 → SurfaceTexture → OpenGL ES → 编码器,显著降低内存和功耗。
提供极致压缩、微信传输、短视频适配、轻度压缩、自定义共 5 种模板,覆盖本地归档、即时通讯、社交分享等场景。
支持选择多个视频,依次自动压缩。统一的压缩记录界面,实时进度一目了然,压缩前后大小对比清晰。
完整的压缩历史记录,支持预览、分享和删除操作。自定义参数支持精细调节压缩程度、分辨率和静音导出。
根据使用场景快速选择合适模板,也支持自由配置精细参数
| 模板 | 质量 | 分辨率 | 适用场景 |
|---|---|---|---|
| 极致压缩 | 25% | 854 × 480 | 本地存储归档 |
| 微信传输 | 45% | 1280 × 720 | 即时通讯分享 |
| 短视频适配 | 65% | 1080 × 1920 | 朋友圈 / 抖音 |
| 轻度压缩 | 85% | 原始 × 0.9 | 近乎无损瘦身 |
| 自定义 | 自由配置 | 自由配置 | 高级用户 |
深色主题搭配蓝紫渐变,模板网格 + 压缩记录 + 自定义参数,一站式操作
2×2 模板卡片网格,每张带蓝紫渐变辉光边框,底部「压缩记录」入口
精细调节压缩程度(25%-90%)、分辨率缩放(0.5x-1.0x)和静音导出
120dp 渐变圆环 + 逐文件渐变进度条,实时显示压缩进度和文件状态
应用信息和版本说明,展示技术栈和项目链接
解码 → 渲染 → 编码 三线程并行处理,零拷贝管线,帧同步机制
MediaExtractor 读取视频轨道,向解码器提供原始压缩帧数据
解码 → SurfaceTexture 接收 → OpenGL ES 着色器缩放 → 编码器输入 Surface
从阻塞队列接收编码帧,写入 MediaMuxer 封装为 MP4,音频直通拷贝
通过 Kotlin Channel (CONFLATED) 实现 SurfaceTexture 帧可用回调与主循环的天然挂起同步,消除布尔标志位竞争条件。
基于写入文件的编码帧数 / (视频时长 × 帧率) 的线性公式计算,准确反映实际写入进度。
解码器通过 SurfaceTexture 变换矩阵嵌入旋转信息,GL 阶段交换编码宽高使视口匹配,Muxer orientation hint 设为 0 避免播放器二次旋转。
MediaCodec H.264 AVC 硬件编码器,输出 MP4 格式,兼容所有主流播放器和社交平台。
多项技术优化带来显著的性能提升
硬件加速 vs 纯软件方案
覆盖各种使用场景
Reader + GL + Writer
纯离线处理,隐私安全保障