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

国产的视频裁剪框架AndroidVideoTrimmer

《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章 FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频裁剪框架Android-Video-Trimmer,通过该框架可以更快地裁剪视频片段,下面就来介绍如何在App工程中使用Android-Video-Trimmer。

Android Video Trimmer是一款专为Android平台设计的强大开源视频处理工具,它通过FFmpeg实现视频裁剪功能,并支持裁剪后的视频压缩功能。此外,Android Video Trimmer采用VideoView播放视频,采用RecycleView显示视频的帧图片,通过MediaMetadataRetriever获取视频帧的缩略图。

Android Video Trimmer的源码托管地址为https://github.com/iknow4x/Android-Video-Trimmer(星星数1.1k),最新版本基于Android 13(API 34)和Kotlin 1.9开发,可见该框架的源码更新十分及时。

实测发现最新版的Android Video Trimmer编译通过后无法正常裁剪视频,只有2019年2月发布的Android-Video-Trimmer-1.0.0才能正常使用,该版本的压缩包下载地址为https://github.com/iknow4x/Android-Video-Trimmer/archive/refs/tags/v1.0.0.zip。

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

一、升级Gradle版本

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

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

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

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

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

打开Android-Video-Trimmer工程的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'

classpath 'me.tatarka:gradle-retrolambda:3.3.1'

改成下面这行配置,表示把Gradle插件版本升级到适配Android Studio Dolphin的4.0版本:

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

三、升级Support库或者迁移到AndroidX

打开Android-Video-Trimmer工程的app/build.gradle,发现里面引用了支持库Support v27,但Android早已废弃Support库,转为使用AndroidX库,所以要么把Support库升级到最后更新的v28库,要么把支持库迁移到AndroidX。

在Android Studio Dolphin的主界面依次选择顶部菜单“Refactor”→“Migrate to AndroidX”,即可将App工程的Support库迁移到AndroidX库。

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

trimmer1

可见裁剪界面下方展现一排不同时间点的缩略图列表,拖动列表图片即可切换待裁剪的视频起止时间段。拖动选好待裁剪的视频片段之后,

http://www.cnnetsun.cn/news/15637.html

相关文章:

  • 如何快速解决OpenVLA模型微调后推理中的动作归一化问题
  • 故障注入测试:构建高韧性系统的工程实践
  • WinSetView终极指南:如何快速统一Windows文件夹视图设置
  • ImageGPT技术解析:像素序列预测如何重构视觉AI底层架构
  • Beyond Compare 5 密钥生成完整指南:从原理到实战应用
  • 手艺人札记:在开源系统中重塑技术的温度
  • 5种方法彻底解决番茄小说离线下载难题
  • 史诗级漏洞警报:ASP.NET Core 被曝 CVSS 9.9 分漏洞,几乎所有.NET 版本无一幸免!
  • Cider音乐播放器终极指南:跨平台Apple Music体验全解析
  • 力扣刷题:最大子数组和
  • ⭐力扣刷题:岛屿数量
  • Screenbox媒体播放器:深度解析Windows平台的现代播放解决方案
  • 5步重构OpenSTM扫描隧道显微镜项目架构
  • DXVK终极配置手册:Linux游戏性能优化的完整解决方案
  • 活字格低代码平台:企业数字化转型的技术架构与实践剖析
  • NVIDIA CUDA 13.1权威指南:CUDA Tile驱动下一代GPU编程,性能全面提升
  • Figma中文界面完整指南:快速实现设计工具本地化
  • 重新定义AI视觉评估:多维度评分系统深度解析
  • Hap视频编解码器:专业级QuickTime硬件加速终极指南
  • 阿里Wan2.1开源:消费级GPU如何重塑视频创作生态
  • 40亿参数改写边缘AI规则:Qwen3-VL-4B-Thinking-FP8轻量化多模态革命
  • MATLAB图像导出专业指南:掌握export_fig的核心技术
  • AI浪潮下的新职业生态:技术角色的系统性演化
  • SQL优化实战:标量子查询改写外连接的真实案例
  • Claude Code 杀疯了!首创“后台实习生”模式,这才是真正的 AI 结对编程!
  • 多进程环境中解决 PHP 文件系统锁定问题指南
  • 浅谈InheritableThreadLocal---线程可继承的小书包
  • Jellyfin Android TV客户端音频播放异常问题深度解析
  • HFI高频方波注入方案stm32f405 无感FOC控制 直接闭环启动 永磁同步电机无感控制...
  • CTR预测系统构建实战:从FM到DeepFM的推荐算法演进之路