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

时间:2017-03-04 12:02:35

标签: 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

在此之后,没有更多的日志声明。

任何可能导致此问题的想法?

1 个答案:

答案 0 :(得分:0)

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

    var {
        StyleSheet
      } = React;

    var styles = StyleSheet.create({
          oneAndTwo: {
        padding: 5,
        backgroundColor: 'green'
    },
    one: {
        justifyContent: 'flex-start'
    },
       oneAndTwoText:{
        backgroundColor: 'green'
      }
      });

    <View style={[styles.oneAndTwo, styles.one]}>
        <Text style={styles.formButtonOutline}>One</Text>
    </View>