配置 ffmpeg 以使用 concat

Configure ffmpeg to use concat

本文关键字:concat ffmpeg 配置      更新时间:2023-10-16

这是我的jni 'c' 代码,用于在Android中使用ffmpeg连接SD卡中的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.hhttps://drive.google.com/file/d/0B4VBZ6KJJazSWHBqQWJpWHhuZnM/view?usp=sharing

每当我调用本机方法 trim() 时我收到错误消息未知输入格式:"concat"。

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

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