《FFmpeg開發實戰:從零基礎到短視頻上線》一書的“第 12 章 FFmpeg的移動開發”介紹瞭如何使用FFmpeg在手機上播放視頻,基於FFmpeg的國產播放器開源框架也有很多了,前有嗶哩嗶哩的ijkplayer,後有小紅書的RedPlayer,參見之前的文章《使用國產的ijkplayer播放器觀看網絡視頻》和《使用國產的RedPlayer播放器觀看網絡視頻》。
除此以外,OpenVideoEditor也是一款優秀的Android原生視頻編輯器,該框架基於Kotlin+Compose開發,並採用Media3和Jetpack Compose構建,貼近最新的Android開發技術。OpenVideoEditor支持裁剪、灰度、反轉、縮放、旋轉、調整分辨率等常見的視頻剪輯功能,可謂功能強大。
OpenVideoEditor的源碼託管地址為 https://github.com/devhyper/open-video-editor (星星數0.5k),國內的鏡像地址為 https://gitcode.com/gh_mirrors/op/open-video-editor ,最新版本是2024年9月發佈的v1.1.3,可見該框架的源碼更新十分及時,該版本的源碼下載地址為 https://github.com/devhyper/open-video-editor/archive/refs/tags/v1.1.3.tar.gz 。
並且OpenVideoEditor的源碼採用Kotlin+Compose編寫,適合Android開發者用作進階練習,不過由於OpenVideoEditor引入了最新的Android開發技術,因此需要使用較新的Android Studio才能成功導入運行。接下來以Android Studio Ladybug(小瓢蟲版本)為例,介紹如何通過Android Studio編譯運行OpenVideoEditor的demo工程。
為了加快OpenVideoEditor項目的加載速度,可打開settings.gradle.kts,在repositories節點內部補充以下配置:
// 以下四行添加阿里雲的倉庫地址,方便國內開發者下載相關插件
maven { url = uri("https://maven.aliyun.com/repository/jcenter") }
maven { url = uri("https://maven.aliyun.com/repository/google")}
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin")}
maven { url = uri("https://maven.aliyun.com/repository/public")}
// 以下添加清華大學的倉庫地址
maven { url = uri("https://mirrors.tuna.tsinghua.edu.cn/repository/maven-central/") }
增加以上配置的目的是引入國內的倉庫地址,以便加快相關依賴包的下載速度。
等待OpenVideoEditor工程編譯通過,把demo應用安裝到手機上,啓動之後的App界面如下圖所示:
點擊【視頻】按鈕,先到系統相冊選擇一個視頻文件,返回的加工界面如下圖所示:
點擊加工界面右下角的方形按鈕,彈出底部選擇菜單如下圖所示:
點擊【剪輯】菜單項,表示根據起止時間裁剪視頻片段。此時界面下方的進度條出現兩個圓珠,第一個圓珠代表裁剪開始時間,第二個圓珠代表裁剪結束時間,如下圖所示:
分別拖動兩個圓珠確定裁剪的起止時間後,點擊右下角的打勾按鈕,此時進度條長度變為視頻片段的持續時間比如10秒。點擊界面右上角的三點按鈕,彈出操作菜單列表如下圖所示:
點擊【導出】菜單項,彈出保存文件的配置界面如下圖所示:
在配置界面可以選擇導出方式與音視頻的編碼格式,點擊右下角的導出按鈕跳到保存目錄的選擇界面,選擇某個公共目錄比如Download,即可將視頻片段保存到Download目錄。
總結一下,OpenVideoEditor確實使用簡單,剪輯功能也豐富,是個未來可期的下一代視頻編輯器。
更多詳細的FFmpeg開發知識參見《FFmpeg開發實戰:從零基礎到短視頻上線》一書。