Как совместить 2 .mp4 видео на устройстве Android?

Цель состоит в том, чтобы объединить 2.mp4 видео, как одно, играющее за другим. Существует бесчисленное множество ссылок на ffmpeg, который не очень хороший вариант, поскольку он включает в себя NDK, делающий проект действительно тяжелым для какой-то не столь важной функции.

Я узнал, что медиакодек был значительно улучшен. Мне нужно руководство, чтобы помочь мне через это. Я не мог найти ни одного.

Также я ищу объединение.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);
    }
}

Требуется 12 секунд, чтобы сделать 5-кадровое видео. кадров в секунду 25

1 ответ

Если вы хотите объединить два видеофайла, проще всего использовать mp4parser (в нем есть все, что вам нужно). Другой способ - попытаться извлечь аудио и видео каналы с помощью MediaExtractorчем использовать MediaMuxer объединить два файла в один. Кроме того, убедитесь, что файлы идентичны с точки зрения разрешения, частоты кадров и битрейта, иначе объединение может быть не идеальным. В таком случае вам может понадобиться перекодировать файлы. Вы можете сделать это с FFMPEG, или вы можете рассмотреть сложные инструменты Android, такие как MediaCodec,

ОБНОВИТЬ:

Создание аудио .mp4 с одним кадром должен быть самым легким в FFMPEG, Если вам нужно более легкое решение, вы должны закодировать свое изображение с помощью MediaCodecи извлечь аудио из .mp3 первый. После этого вы должны преобразовать данные видео и аудио в видеофайл. Вы можете найти блестящий MediaCodec примеры в графике и бигфлейке

Другие вопросы по тегам