我有一个现有的 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/