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

xdnvmnnf  于 2023-05-27  发布在  Android
关注(0)|答案(5)|浏览(181)

我想提取视频的一些部分时,用户正在通过我的应用程序播放视频。在播放视频时,用户可以给予开始和结束持续时间来剪切视频。那么有没有办法根据持续时间剪切视频并保存到SD卡上呢?

vyu0f0g1

vyu0f0g11#

您可以尝试编译ffmpeg并将其集成到您的项目中。我用ffmpeg来剪切视频和音频,非常快,不需要录制。我没有在Android上做这件事的经验,但它应该工作.这里有一个关于Android上ffmpeg的官方wiki页面:
https://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20compile%20FFmpeg%20for%20Android

zbwhf8kr

zbwhf8kr2#

Android使用Mp4 Parser/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”中获得它

0qx6xfy6

0qx6xfy63#

我认为这可以使用MP4Parser来完成,它纯粹是用java编写的,可以与android一起使用,here也是一个在java中进行视频缩短的例子。

5ktev3wc

5ktev3wc4#

library.it也支持Android 10

sauutmhj

sauutmhj5#

@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

相关问题