news 2026/5/1 11:12:52

国产的视频裁剪框架AndroidVideoTrimmer

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
国产的视频裁剪框架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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 18:51:12

Llama-Factory能否用于代码生成模型微调?实测结果

Llama-Factory能否用于代码生成模型微调?实测结果 在软件工程领域,一个能“读懂”函数签名、理解注释语义,并自动生成高质量代码片段的AI助手,早已不再是科幻场景。从GitHub Copilot到通义灵码,大语言模型(…

作者头像 李华
网站建设 2026/4/29 20:13:08

Kickstarter Android开源项目:从零开始的完整入门指南

Kickstarter Android开源项目:从零开始的完整入门指南 【免费下载链接】android-oss Kickstarter for Android. Bring new ideas to life, anywhere. 项目地址: https://gitcode.com/gh_mirrors/an/android-oss Kickstarter Android开源项目是一个功能丰富的…

作者头像 李华
网站建设 2026/5/1 8:50:04

飞凌嵌入式ElfBoard-获取文件的状态信息之lstat

1.头文件#include <sys/stat.h>2.函数原型int lstat(const char *pathname, struct stat *statbuf);3.参数pathname&#xff1a;符号链接的路径statbuf&#xff1a;执行struct stat结构的指针&#xff0c;用来存储符号链接的状态信息。4.返回值返回值&#xff1a;成功返回…

作者头像 李华
网站建设 2026/5/1 10:33:31

【光照】UnityURP为什么要[Gamma矫正]?

伽马校正的定义与原理伽马校正是对颜色值进行非线性变换的过程&#xff0c;其核心是通过幂函数&#xff08;γ函数&#xff09;调整亮度值&#xff0c;使人眼感知更均匀。数学表达式为&#xff1a;输出 输入^γ&#xff0c;其中γ0.45用于编码&#xff08;sRGB到线性空间&…

作者头像 李华
网站建设 2026/4/28 4:37:46

PHP 桌面端框架NativePHP for Desktop v2 发布!

v2 的新特性&#x1f44b;&#x1f3fc; 新仓库,新面貌v2 已在统一的仓库 nativephp/desktop 下发布。这次更新将之前的两个独立仓库(nativephp/laravel 和 nativephp/electron)合并到了一个项目中。这样的调整不仅与 nativephp/mobile 保持了一致性,也使得整个项目更易于维护,…

作者头像 李华