android - 如何在 Android 中使用 ffmpeg 合并音频和视频文件?

标签 android audio video ffmpeg mp4

我有一个现有的 mp4 文件并想使用 ffmpeg 向其中添加音轨(音轨是从设备的麦克风录制的 wav 文件)。

我正在执行以下命令,但它没有生成任何输出。似乎 fmpeg 只是挂起:

String[] command = new String[]{"-i", audioFilePath, "-i", videoFilePath, "-codec", "copy", "-shortest", outputFilePath};

日志是:
Input #0, wav, from '/data/user/0/android.com.app/cache/30930595321169630261385.audio':
   Duration: 00:00:02.03, bitrate: 705 kb/s
     Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 1 channels, s16, 705 kb/s
 Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/android.com.app/cache/4632127da0955d4a461dfd622c78233e':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf57.41.100
   Duration: 00:00:02.04, start: 0.000000, bitrate: 728 kb/s
     Stream #1:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 500x280 [SAR 1:1 DAR 25:14], 724 kb/s, 16.67 fps, 16.67 tbr, 166667 tbn, 33.33 tbc (default)
     Metadata:
       handler_name    : VideoHandler

在此之后,没有更多的日志语句。

有什么想法可能导致这种情况吗?

最佳答案

在 FFmpeg Android 中使用以下给定命令

String[] command  = {"-i", yourVideoPath, "-i", yourAudioPath, "-c:v", "copy", "-c:a", "aac", "-map", "0:v:0", "-map", "1:a:0", "-shortest", file.getAbsolutePath()}

关于android - 如何在 Android 中使用 ffmpeg 合并音频和视频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42595783/

相关文章:

android - 如何在android textview中显示分数?

android - 如何在 Android SDK 中设置 AdWhirl?

android - 升级到 Gingerbread 2.3.4 后 MediaPlayer 不工作

audio - 如何找到两种声音的共同点?

android - 如何在android中开发视频剪辑?

audio - FFMPEG 没有从 RTSP 流中录制音频

java - 当我点击 "+"按钮时,我应该显示 2,再次点击它应该显示 3。

android - 如何在 android BLE 中将 "AFCF"写为特征值?

c# - C#DirectSound-捕获缓冲区不连续

audio - 手机剧有背景音支持吗?