Команда FFMPEG, чтобы сделать видео из изображения (JPEG) + аудио (.mp3) и поделиться видео в WhatsApp - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь создать видео файл .mp4 из аудио .mp3 и изображения .jpeg.

Я могу создать видео и воспроизводить его в видеопроигрывателях на устройствах Android.

Но после создания файла, когда я пытался поделиться этим видео в WhatsApp, в это время появляется сообщение «Формат файла не поддерживается».

Я использую ниже FFMPEGкоманда:

"-loop 1 -r 1 -i " + imageFilePath + " -i " + audioFilePath + " -c:v libx264 -crf 27 -tune stillimage -c:a copy -pix_fmt yuv420p -preset ultrafast -shortest " + pathOutputVideo(sectionName);

И для обмена видео, я использую код, указанный ниже:

  MediaScannerConnection.scanFile(ShareQuestionAudioActivity.this, new String[]{FfmpegController.pathOutputVideo(qModel.getSectionName().toUpperCase().replaceAll(" ", "_"))},
                null, new MediaScannerConnection.OnScanCompletedListener() {
                    public void onScanCompleted(String path, Uri uri) {
                        Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
                        shareIntent.setType("video/*");
                        shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(FfmpegController.pathOutputVideo(qModel.getSectionName().toUpperCase().replaceAll(" ", "_"))));
                        startActivity(Intent.createChooser(shareIntent, "Share Question"));
                    }
                });

Я нашел здесь , что мне нужно использовать H.264 +AAC. Но я все еще не могу поделиться видео с поддерживаемым форматом файла .

1 Ответ

0 голосов
/ 03 декабря 2018

Как уже обсуждалось в комментариях, проблема возникает из-за того, что аудио не нужно кодировать с использованием кодека AAC, поскольку -c:a copy использовалось для mp3 аудиофайлов.

Решением этой проблемы является указание ffmpeg перекодировать аудиопоток в AAC, используя -c:a aac.Больше примеров того, как кодировать AAC, также можно найти здесь .

...