2012-06-26 47 views
12

有什麼辦法削減在Android上的視頻(MP4或3GP),如只使用最後5秒的電影......在iPhone上這是可能的使用AVAssetExportSession但在Android我還沒有找到類似的東西,只是可能對ffmpeg庫的引用看起來很複雜。有沒有更簡單的方法來做到這一點?Android SDK中剪切/修剪視頻文件

+0

參閱此http:/ /stackoverflow.com/a/21752769/2562861 – Shijil

回答

8

您可以使用我的mp4parser庫執行此操作。看一下ShortenExample它確實如名稱所示。 由於庫不能對視頻進行重新編碼,因此只能剪切I幀的視頻。所以你可以進行切割的時間點非常粗糙。

在Android 4.1,你可以通過訪問API MediaCodec這可能是一種選擇的硬件編解碼器(但我還沒有看到的任何例子)

+0

這僅適用於mp4文件還是適用於其他擴展?我在哪裏可以找到ShortenExample鏈接? – Catalin

+0

3gp文件基本上是MP4文件,有一些小的限制。我的lib也適用於3gpp(和quicktime)文件,但**不適用於其他容器,如avi或mkv。 –

+0

我需要一個適用於Android手機可以保存的所有視頻格式的通用可用庫,如mp4,3gp,mkv也許:( – Catalin

4

在嘗試這個

Intent trimVideoIntent = new Intent("com.android.camera.action.TRIM"); 

// The key for the extra has been discovered from com.android.gallery3d.app.PhotoPage.KEY_MEDIA_ITEM_PATH 
trimVideoIntent.putExtra("media-item-path",FilePath); 
trimVideoIntent.setData(videoUri); 

// Check if the device can handle the Intent 
List<ResolveInfo> list = getPackageManager().queryIntentActivities(trimVideoIntent, 0); 
if (null != list && list.size() > 0) { 
    startActivity(trimVideoIntent); // Fires TrimVideo activity into being active 
}else { 
    Toast.makeText(this, "not supported",Toast.LENGTH_SHORT).show(); 
} 

工作庫2包安裝的設備

3

我們可以在Android中使用的ffmpeg視頻剪切。

對於Android的集成的FFmpeg我們可以使用預編譯的庫,例如ffmpeg-android

爲了節省,我們可以使用下面的命令 -

String[] complexCommand = {"-ss", "" + startMs/1000, "-y", "-i", inputFileAbsolutePath, "-t", "" + (endMs - startMs)/1000, "-s", "320x240", "-r", "15", "-vcodec", "mpeg4", "-b:v", "2097152", "-b:a", "48000", "-ac", "2", "-ar", "22050", outputFileAbsolutePath}; 

這裏的視頻,

-ss

尋求定位

-y

覆蓋輸出文件而不問。

-i

FFMPEG從由-i選項

-t

限制從輸入文件

讀出的數據的持續時間指定的輸入「的文件」的任意數量的讀取

-s

視頻輸出尺寸

-r

設定的幀速率

-vcodec

設置視頻編解碼器。

-b:v

設置視頻比特率

-b:一

設置音頻比特率

-ac

組音頻信道的數量。

-ar

設置了音頻流的採樣率,如果編碼

startMs

從那裏你要削減

endMs

末以毫秒爲單位的視頻

開始時間視頻時間,以毫秒爲單位,您要剪切到的地方

我已經創建使用FFmpeg的編輯影片,包括切割video.Check樣本Android項目就OUT-

https://github.com/bhuvnesh123/FFmpeg-Video-Editor-Android

及其教程AT-

https://androidlearnersite.wordpress.com/2017/03/17/ffmpeg-video-editor/