当前位置: 首页 > news >正文

FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer

在Android平台上,国产的开源视频剪辑框架也有很多了,参见之前的文章《国产的视频裁剪框架AndroidVideoTrimmer》、《国产的Android开源视频编辑器EpMedia》、《国产的开源视频美颜工具VideoEditorForAndroid》、《国产的开源视频剪辑工具AndroidVideoEditor》等等。那么在Android系统上还有一款国产的开源视频压缩工具VideoSlimmer,通过该框架可以更方便地压缩视频大小,下面就来介绍如何在App工程中使用VideoSlimmer。

VideoSlimmer是一款专为Android平台设计的开源视频压缩工具,它通过Mediacodec实现视频压缩功能,并具有较高的压缩性能。VideoSlimmer支持压缩的视频格式包括mp4和3gp。
VideoSlimmer的源码托管地址为https://github.com/zolad/VideoSlimmer(星星数0.2k),最近版本更新于2018年10月,该版本的压缩包下载地址为https://github.com/zolad/VideoSlimmer/archive/refs/heads/master.zip。
VideoSlimmer提供了两种集成方式:引用在线库、直接导入源码,分别说明如下:

一、引用VideoSlimmer在线库

Android工程引用VideoSlimmer在线库时,需要修改以下两个配置:
1、打开模块级别的build.gradle,给dependencies节点补充下面几行配置,表示引入1.0.0版本的VideoSlimmer库:

implementation 'com.zolad:videoslimmer:1.0.0'

2、打开App模块的src/main/AndroidManifest.xml,给manifest节点补充下面两行权限配置,表示声明读写存储空间两个权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

二、直接导入VideoSlimmer源码

由于VideoSlimmer的发布时间较早,为了让小海豚版本的Android Studio Dolphin能够打开它的范例工程,需要对VideoSlimmer的App工程作如下修改:

1、升级Gradle版本

打开VideoSlimmer工程的gradle/wrapper/gradle-wrapper.properties,把下面这行配置

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

改成如下这行配置,表示把Gradle版本从4.4升级到5.4.1。

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip

2、更新工具库的仓库位置

打开VideoSlimmer工程的build.gradle,把里面的两处“jcenter()”都改为以下配置:

// 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google'}
maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
maven { url 'https://maven.aliyun.com/repository/public'}
google()
mavenCentral()

因为jcenter仓库已经废弃,所以改成引用国内的仓库位置。
此外,还要把下面两行配置

classpath 'com.android.tools.build:gradle:3.1.2'

改成下面这行配置,表示把Gradle插件版本升级到3.2.0版本:

classpath 'com.android.tools.build:gradle:3.2.0'

3、调整模块的build.gradle

打开VideoSlimmer工程的app/build.gradle,找到下面这行配置:

compileSdkVersion 28

在上面这行下方补充下面这行配置,表示指定编译工具的版本号:

buildToolsVersion "28.0.3"

还要把下面这行配置

implementation 'com.android.support:appcompat-v7:28.0.0-rc01'

改成下面这行配置:

implementation 'com.android.support:appcompat-v7:28.0.0'

改完build.gradle,记得单击Sync同步App工程配置。

完成以上三处修改后,重新编译App安装到真机上,挑选一个视频后进入视频压缩界面如下图所示:

slimmer1

可见选中视频正在压缩当中。稍等片刻视频压缩完成,界面下方展示结果视频的保存路径以及压缩进度,如下图所示:

slimmer2

发现压缩前的视频大小为85MB,压缩后的视频大小为12MB,仅为原视频的七分之一左右,可见压缩效果还是不错的。压缩之后的结果视频放在公共存储空间的Movies目录,完整路径为“我的手机/Movies/VIDEOSLIMMER_yyyymmdd_hhmiss.mp4”,其中yymmdd为年月日,hhmiss为时分秒。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

http://www.jsqmd.com/news/262499/

相关文章:

  • 学霸同款2026 TOP10 AI论文平台:自考毕业论文写作全测评
  • 实用指南:粒子群优化算法求解三维变换矩阵的数学推导
  • d1
  • 3步搞定论文降AI:从检测到修改的完整流程 - 还在做实验的师兄
  • 智慧校园之学生课堂场景行为识别 教育场景智能分析系统 学生行为监测算法优化 学生玩手机识别 上课走神识别 yolo26格式数据集第10407期
  • DeepSeek降AI效果实测:免费方案真的能用吗? - 还在做实验的师兄
  • 折腾笔记[40]-使用上古A100 GPU运行qwen3-30b-a3b模型
  • 028动态规划之字符串DP——算法备赛 - 实践
  • 研究生写论文必备的3款降AI工具,导师都说自然 - 还在做实验的师兄
  • 手把手教你降论文AI率:从检测到修改的完整操作指南 - 还在做实验的师兄
  • 职业院校智慧校园评价指标体系如何构建?这份指南请收好
  • 论文AI率太高被退回?5招教你快速解决 - 还在做实验的师兄
  • 深聊江南电缆官方销售热线,电缆选购有哪些要点? - 工业品牌热点
  • Invicti Standard v26.1.0 发布 - 企业级 Web 应用与 API 安全
  • DeepSeek写的论文怎么降AI?这6款工具亲测有效 - 还在做实验的师兄
  • 导师严选2026 AI论文软件TOP8:MBA毕业论文写作全解析
  • 题目1112:C语言考试练习题_一元二次方程
  • 049.二维差分
  • 2025年本地市场热门重型回弹仪品牌推荐,智能非金属超声检测仪/超声波回弹仪/数显碳化深度尺/高强回弹仪回弹仪供应商推荐榜单 - 品牌推荐师
  • 融智学形式本体论:一种基于子全域与超子域的统一认知架构
  • 动态电压恢复器(DVR)模型 Matlab/simulink 质量过硬, 可用于治理电能质量问...
  • 2026年国内可靠的全自动超声波清洗机厂家哪家靠谱,单臂超声波清洗机/晶圆清洗机,全自动超声波清洗机公司联系方式 - 品牌推荐师
  • MATLAB环境下基于数据驱动的随机子空间(SSI-DATA)和协方差驱动的随机子空间(SSI...
  • 从零开始:用 Android Studio 开发一个 AI 智能日记 App - 指南
  • Apache 详解(在 Ubuntu 24 中安装和配置 Apache,超详细)
  • 4.4 虚拟人口型驱动:让静态图像开口说话的魔法
  • leetcode 881. Boats to Save People 救生艇
  • 5.2 多模态OCR架构:Donut、TrOCR、LayoutLMv3全面对比
  • [ARC135D] Add to Square
  • 2026年出国留学机构排行榜:五家优选全面对比 - 速递信息