2012-06-26 51 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/