在android中修剪/剪切视频文件

问题描述 投票:0回答:5

我想在用户通过我的应用程序播放视频时提取视频的某些部分。播放视频时,用户可以指定开始和结束持续时间来剪切视频。那么有什么方法可以根据时长剪切视频并保存到 SD 卡吗?

android android-layout video-editing
5个回答
0
投票

您可以尝试编译 ffmpeg 并将其集成到您的项目中。我用ffmpeg来剪切视频和音频,速度非常快,不需要录制。我没有在 Android 上执行此操作的经验,但它应该可以工作。这里有关于 android 上 ffmpeg 的官方 wiki 页面:

https://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20compile%20FFmpeg%20for%20Android


0
投票

Android 使用 Mp4Parser/isoParser 来修剪视频 这是修剪视频的示例 https://android.googlesource.com/platform/packages/apps/Gallery2/+/android-4.4.2_r2/src/com/android/ gallery3d/app/TrimVideo.java 正如前面提到的,他使用 isoParser,你可以从“git clone https://android.googlesource.com/platform/external/mp4parser”获取它


0
投票

我认为可以使用 MP4Parser 来完成,它纯粹用 java 编写,可以与 android 一起使用,而且 here 是用 java 进行视频缩短的示例 作者 Sebastian-annies


0
投票

使用这个Android-video_trimmer库。它也支持Android 10


-7
投票

@Ravi --- 视频可以在 videoview 或 surfaceview android 内置类中播放。在 SurfaceView 中,您可以启动一个线程,从您选择的位置使用 MediaRecorder 来录制视频

    MediaRecorder recorder = new MediaRecorder();
    recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
        recorder.setOutputFile("/sdcard/recordvideooutput.3gpp");
        recorder.setPreviewDisplay(mHolder.getSurface());
    recorder.prepare();

您的 mholder 是用于附加表面视图的 SurfaceHolder 支架

调用这两个方法将开始和停止录制,文件将写入/sdcard/recordvideooutput.3gpp

recorder.start();
recorder.stop();

使用开发人员指南 http://developer.android.com/reference/android/media/MediaRecorder.html

© www.soinside.com 2019 - 2024. All rights reserved.