使用 FFMPEG 在 Android 中合并两个音频文件 [英] Merging two audio files in Android using FFMPEG

查看:25
本文介绍了使用 FFMPEG 在 Android 中合并两个音频文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个应用程序,它接收两个音频文件,并将它们合并到受尊重的频道中.它们的均衡方式没有我希望的那么好,所以我想在混合阶段调整每个文件的音量.我在网上看过几个例子,比如thisthis[this][3].. 但是他们都没有为我工作.有人可以用这个指导我朝着正确的方向发展吗?非常感谢!

I'm working on an application that takes two audio files, and merges them into the respected channels. The way they are being equalized are not as good as I had hoped, So I want to adjust the volume of each file during the mixing phase. I've seen a couple of examples online, like this, this, and [this][3].. but none of them are working for me. Can someone direct me in the right direction with this? Much appreciation!

我正在使用这个库来执行:https://github.com/WritingMinds/ffmpeg-android-java

I am using this library to execute: https://github.com/WritingMinds/ffmpeg-android-java

这是我的代码(编辑)

String files = "-i " + mVoiceFile.getAbsolutePath() + " -i " + mBeatFile.getAbsolutePath();
String filter = "-filter_complex [0:a]volume=0.99[a1];[1:a]volume=0.3[a2][a1][a2]amerge=inputs=2,volume=1.3,pan=stereo|c0<c0+c2|c1<c1+c3[aout]";
String output = "  -map [aout] -strict -2 " + mRapFile.getAbsolutePath()";
String cmd = files+filter+output;`

在此处输入代码

这是我运行时的错误.

04-06 12:17:34.079 30975-30975/me.rapchat.rapchat E/Studio Process: WARNING: linker: /data/user/0/me.rapchat.rapchat/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
04-06 12:17:34.306 30975-30975/me.rapchat.rapchat E/Studio Process: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
04-06 12:17:34.306 30975-30975/me.rapchat.rapchat E/Studio Process:   built on Oct  7 2014 15:08:46 with gcc 4.8 (GCC)
04-06 12:17:34.306 30975-30975/me.rapchat.rapchat E/Studio Process:   configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
04-06 12:17:34.307 30975-30975/me.rapchat.rapchat E/Studio Process:   libavutil      54.  7.100 / 54.  7.100
04-06 12:17:34.307 30975-30975/me.rapchat.rapchat E/Studio Process:   libavcodec     56.  1.100 / 56.  1.100
04-06 12:17:34.307 30975-30975/me.rapchat.rapchat E/Studio Process:   libavformat    56.  4.101 / 56.  4.101
04-06 12:17:34.307 30975-30975/me.rapchat.rapchat E/Studio Process:   libavdevice    56.  0.100 / 56.  0.100
04-06 12:17:34.308 30975-30975/me.rapchat.rapchat E/Studio Process:   libavfilter     5.  1.100 /  5.  1.100
04-06 12:17:34.308 30975-30975/me.rapchat.rapchat E/Studio Process:   libswscale      3.  0.100 /  3.  0.100
04-06 12:17:34.308 30975-30975/me.rapchat.rapchat E/Studio Process:   libswresample   1.  1.100 /  1.  1.100
04-06 12:17:34.308 30975-30975/me.rapchat.rapchat E/Studio Process:   libpostproc    53.  0.100 / 53.  0.100
04-06 12:17:34.372 30975-30975/me.rapchat.rapchat E/Studio Process: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/me.rapchat.rapchat/cache/recording.m4a':
04-06 12:17:34.373 30975-30975/me.rapchat.rapchat E/Studio Process:   Metadata:
04-06 12:17:34.373 30975-30975/me.rapchat.rapchat E/Studio Process:     major_brand     : mp42
04-06 12:17:34.373 30975-30975/me.rapchat.rapchat E/Studio Process:     minor_version   : 0
04-06 12:17:34.374 30975-30975/me.rapchat.rapchat E/Studio Process:     compatible_brands: isommp42
04-06 12:17:34.374 30975-30975/me.rapchat.rapchat E/Studio Process:     creation_time   : 2016-04-06 19:17:33
04-06 12:17:34.374 30975-30975/me.rapchat.rapchat E/Studio Process:   Duration: 00:00:01.56, start: 0.000000, bitrate: 144 kb/s
04-06 12:17:34.375 30975-30975/me.rapchat.rapchat E/Studio Process:     Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
04-06 12:17:34.375 30975-30975/me.rapchat.rapchat E/Studio Process:     Metadata:
04-06 12:17:34.375 30975-30975/me.rapchat.rapchat E/Studio Process:       creation_time   : 2016-04-06 19:17:33
04-06 12:17:34.375 30975-30975/me.rapchat.rapchat E/Studio Process:       handler_name    : SoundHandle
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process: Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/me.rapchat.rapchat/cache/beats/d3c37d60-ed50-4c00-b454-4e399a7858ff.m4a':
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:   Metadata:
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     major_brand     : mp42
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     minor_version   : 0
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     compatible_brands: mp42isom
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     creation_time   : 1993-11-24 14:46:42
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     encoder         : Max 0.9.1
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     iTunSMPB        : 00000000 00000840 000003c0 000000000035dc00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:     date            : 2015
04-06 12:17:34.401 30975-30975/me.rapchat.rapchat E/Studio Process:   Duration: 00:01:20.04, start: 0.047891, bitrate: 129 kb/s
04-06 12:17:34.402 30975-30975/me.rapchat.rapchat E/Studio Process:     Stream #1:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
04-06 12:17:34.402 30975-30975/me.rapchat.rapchat E/Studio Process:     Metadata:
04-06 12:17:34.402 30975-30975/me.rapchat.rapchat E/Studio Process:       creation_time   : 1993-11-24 14:46:42
04-06 12:17:34.404 30975-30975/me.rapchat.rapchat E/Studio Process: [NULL @ 0xb5e4fc00] Unable to find a suitable output format for '[a1][a2]amerge,pan=stereo|c0<c0+c1|c1<c2+c3[aout]'
04-06 12:17:34.404 30975-30975/me.rapchat.rapchat E/Studio Process: [a1][a2]amerge,pan=stereo|c0<c0+c1|c1<c2+c3[aout]: Invalid argument
04-06 12:17:34.407 30975-30975/me.rapchat.rapchat E/Studio Status Failed: WARNING: linker: /data/user/0/me.rapchat.rapchat/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
                                                                          ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
                                                                            built on Oct  7 2014 15:08:46 with gcc 4.8 (GCC)
                                                                            configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
                                                                            libavutil      54.  7.100 / 54.  7.100
                                                                            libavcodec     56.  1.100 / 56.  1.100
                                                                            libavformat    56.  4.101 / 56.  4.101
                                                                            libavdevice    56.  0.100 / 56.  0.100
                                                                            libavfilter     5.  1.100 /  5.  1.100
                                                                            libswscale      3.  0.100 /  3.  0.100
                                                                            libswresample   1.  1.100 /  1.  1.100
                                                                            libpostproc    53.  0.100 / 53.  0.100
                                                                          Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/me.rapchat.rapchat/cache/recording.m4a':
                                                                            Metadata:
                                                                              major_brand     : mp42
                                                                              minor_version   : 0
                                                                              compatible_brands: isommp42
                                                                              creation_time   : 2016-04-06 19:17:33
                                                                            Duration: 00:00:01.56, start: 0.000000, bitrate: 144 kb/s
                                                                              Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 128 kb/s (default)
                                                                              Metadata:
                                                                                creation_time   : 2016-04-06 19:17:33
                                                                                handler_name    : SoundHandle
                                                                          Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/data/user/0/me.rapchat.rapchat/cache/beats/d3c37d60-ed50-4c00-b454-4e399a7858ff.m4a':
                                                                            Metadata:
                                                                              major_brand     : mp42
                                                                              minor_version   : 0
                                                                              compatible_brands: mp42isom
                                                                              creation_time   : 1993-11-24 14:46:42
                                                                              encoder         : Max 0.9.1
                                                                              iTunSMPB        : 00000000 00000840 000003c0 000000000035dc00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                                                                              date            : 2015
                                                                            Duration: 00:01:20.04, start: 0.047891, bitrate: 129 kb/s
                                                                              Stream #1:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
                                                                              Metadata:
                                                                                creation_time   : 1993-11-24 14:46:42
                                                                          [NULL @ 0xb5e4fc00] Unable to find a suitable output format for '[a1][a2]amerge,pan=stereo|c0<c0+c1|c1<c2+c3[aout]'
                                                                          [a1][a2]amerge,pan=stereo|c0<c0+c1|c1<c2+c3[aout]: Invalid argument

推荐答案

整个过滤器复合体应该是一个字符串,没有空格,或者用引号 " 括起来,如果有的话.现在,ffmpeg 认为复合体在第二个音量过滤器之后结束,并试图将复合体的其余部分解析为输出标记.

The entire filter complex should be one string, with no spaces, or enclosed in quotes ", if there are. Right now, ffmpeg thinks the complex ends after the 2nd volume filter and is trying to parse the rest of the complex as an output token.

这篇关于使用 FFMPEG 在 Android 中合并两个音频文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆