FFmpeg开发笔记(八十三)中,国产视频裁剪框架AndroidVideoTrimmer如何为?

摘要:​《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章 FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频裁剪框
​《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。
阅读全文