【问题标题】:Configure ffmpeg to use concat将 ffmpeg 配置为使用 concat
【发布时间】:2016-01-22 05:59:18
【问题描述】:

这是我的 jni 'c' 代码,用于在 Android 中使用 ffmpeg 连接 sdcard 中的 mp3 文件列表

JNIEXPORT jint JNICALL Java_Test_Mp3_Merger_Audio_mergeAudio(JNIEnv *env,
        jclass someclass, jstring inputFile, jstring outFile) {
    log_message("Starting to trim video");

    int numberOfArgs = 8;
    char** arguments = calloc(numberOfArgs, sizeof(char*));
    char start[5], duration[5];
    const char *in, *out;


    in = (*env)->GetStringUTFChars(env, inputFile, 0);
    out = (*env)->GetStringUTFChars(env, outFile, 0);
    //ffmpeg -f concat -i mergelist.txt -c copy a.mp3 // this comand worked pecrfect in my computer terminal..
    arguments[0] = "ffmpeg";
    arguments[1] = "-f";
    arguments[2] = "concat";
    arguments[3] = "-i";
    arguments[4] = in;
    arguments[5] = "-c";
    arguments[6] = "copy";
    arguments[7] = out;

    int i;
    for (i = 0; i < numberOfArgs; i++) {
        log_message(arguments[i]);
    }
    log_message("Printed all");

    ffmpeg_main(numberOfArgs, arguments);
    log_message("Finished");
    free(arguments);
    (*env)->ReleaseStringUTFChars(env, inputFile, in);
    (*env)->ReleaseStringUTFChars(env, outFile, out);
    return 0;
}

下面是我用 config.mak 生成的 config.h https://drive.google.com/file/d/0B4VBZ6KJJazSWHBqQWJpWHhuZnM/view?usp=sharing

每当我调用本机方法 trim() 我收到错误消息 Unknown input format: 'concat'。

但是使用 ndk 编译时 concat.c 显示为已编译 怎么了?

【问题讨论】:

    标签: android c++ linux ffmpeg android-ndk


    【解决方案1】:

    concat.c 是 concat 协议。 -f concat -i ...调用concat demuxer,即FFmpeg/libavformat/concatdec.c

    【讨论】:

      猜你喜欢
      • 2015-05-19
      • 1970-01-01
      • 2010-12-28
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 2014-06-05
      相关资源
      最近更新 更多