如何在Android设备上组合2 .mp4视频?

时间:2017-05-31 06:47:44

标签: android android-mediaplayer mediacodec mediamuxer android-mediacodec

目标是结合2个.mp4视频,就像一个接一个播放。有无数的ffmpeg引用,这不是一个很好的选择,因为它涉及到NDK使得项目真的很重,因为某些不那么重要的功能。

我开始知道mediacodec已经得到了很大改善。我需要一本指南来帮助我完成它。我找不到任何。

此外,我正在寻找合并.mp3和照片(单曲)并制作.mp4

请帮忙。

我尝试使用javacv库进行第二次查询,这是一个死胡同。 代码如下:

{FFmpegFrameGrabber videoFrames = FFmpegFrameGrabber.createDefault(videoSource);
    FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(videoFile, 200,         200);
    recorder.setFrameRate(10);
    recorder.start();
    Frame frame = videoFrames.grab();
    for (int i = 0; i < (numSeconds * 10); i++) {
        recorder.record(frame);
    }
}

制作5帧视频需要12秒。 fps是25。

1 个答案:

答案 0 :(得分:2)

如果你想合并两个视频文件,那么简单的方法就是mp4parser(它拥有你需要的一切)。另一种方法是尝试使用MediaExtractor提取音频和视频频道,而不是使用MediaMuxer将两个文件合并为一个。此外,请确保文件在分辨率,帧速率和比特率方面相同,否则合并可能不完美。在这种情况下,您可能需要重新编码文件。您可以使用FFMPEG执行此操作,或者您可能需要考虑复杂的Android工具,例如MediaCodec

<强>更新

.mp4中,使用单个帧创建音频FFMPEG应该是最简单的。如果您需要更轻松的解决方案,则必须使用MediaCodec对图像进行编码,然后首先从.mp3中提取音频。之后,您必须将给定的视频和音频样本复用到视频文件中。您可以在GrafikaBigFlake

中找到精彩的MediaCodec示例