Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (108)

Sur d’autres sites (15686)

  • concat subsections of a video using ffmpeg [migrated]

    30 mars 2013, par jefftimesten

    I would like to take several subsections of a video and concatenate them using the concat ffmpeg filter. It's just like the the example in the FFmpeg documentation, except that all of the clips are from the same source video.

    Here is what I am trying :

    ffmpeg \
     -ss 1.0 -frames:v 20 -i myInput.mp4 \
     -ss 2.0 -frames:v 20 -i myInput.mp4 \
     -ss 3.0 -frames:v 20 -i myInput.mp4 \
     -filter_complex '[0:0][0:1][1:0][1:1][2:0][2:1]concat=n=3:v=1:a=2[v][a1][a2]' \
     -map '[v]' -map '[a1]' -map '[a2]' myOutput.mp4

    When I try this, I get the following error (full output here) :

    Stream specifier ':0' in filtergraph description [0:0][0:1][1:0][1:1][2:0][2:1]concat=n=3:v=1:a=2[v][a1][a2] matches no streams.

    A few things :

    • What's with the error ? According to the stderr output, those streams do exist. What am I missing ?
    • Shouldn't the -ss (and -frames:v) be reflected in the "Duration : ... start : ... " line of the stderr output when the inputs are listed ?
    • Will the "-frames:v" option even work to specify the duration of an input ? (apparently -t is only for output ??) Is there a way to specify the duration of an input with seconds instead of frames ?

    Help me LordNeckbeard — you're my only hope !

  • Running ffmpeg as library in android

    4 février 2014, par szakal

    I've got a simple task to do. I need to merge set of pictures into a video using ffmpeg working in android environment.

    After over a week fighting with different tutorials and examples explaining how to run compile ffmpeg I have, let's say, middle success. I've finally compiled ffmpeg for android.

    I followed this example :
    https://github.com/appunite/AndroidFFmpeg
    which worked best for me.

    As a result of building ffmpeg a have following directory structure :

    [Project]/jni/ffmpeg-build/armeabi-v7a/libffmpeg.so
    [Project]/jni/ffmpeg-build/armeabi/libffmpeg.so
    [Project]/jni/ffmpeg-build/mips/libffmpeg.so
    [Project]/jni/ffmpeg-build/x86/libffmpeg.so

    I also followed the ndk examples so I have running c code from java :

    #include
    #include
    #include
    #include
    #include    
    #include <android></android>log.h>    
    #include
    #include

    bool initted = false;    
    static JavaVM *sVm;

    jstring Java_com_example_hellojni_HelloJni_stringFromJNI(JNIEnv* env, jobject thiz) {

       char **argv;
       char *cmd;
       int argc;

    //  cmd = "ffmpeg -version";
    //  argv = parsedargs(cmd, &amp;argc);
    //  ffmpeg(argc, argv);

       return (*env)->NewStringUTF(env, "Hello from JNI !");

    }

    My question is how to run function from ffmpeg from my "hello-jni" c-file. I've read I need to write a wrapper over ffmpeg which my hello-jni is intended to be.

    Here is my Android.mk which probably is importat part to achieve my goal, but honestly I don't understand some lines set in this file. Or simply I don't know how to make things work.

    LOCAL_PATH := $(call my-dir)

    include $(CLEAR_VARS)
    LOCAL_MODULE := ffmpeg-prebuilt
    LOCAL_SRC_FILES := ffmpeg-build/$(TARGET_ARCH_ABI)/libffmpeg.so
    LOCAL_EXPORT_C_INCLUDES := ffmpeg-build/$(TARGET_ARCH_ABI)/include
    LOCAL_EXPORT_LDLIBS := ffmpeg-build/$(TARGET_ARCH_ABI)/libffmpeg.so
    LOCAL_PRELINK_MODULE := true
    include $(PREBUILT_SHARED_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_ALLOW_UNDEFINED_SYMBOLS=true
    LOCAL_MODULE    := hello-jni
    LOCAL_SRC_FILES := hello-jni.c
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/ffmpeg-build/$(TARGET_ARCH_ABI)/include
    LOCAL_SHARED_LIBRARY := ffmpeg-prebuilt
    #LOCAL_CFLAGS += -g -Iffmpeg-prebuilt -Ihello-jni -Wno-deprecated-declarations
    #LOCAL_LDLIBS += -llog -lz -landroid ffmpeg-build/$(TARGET_ARCH_ABI)/libffmpeg.so

    include $(BUILD_SHARED_LIBRARY)

    One more thing. I've found an example how to wrap ffmpeg's main function. It'd be the easiest way to use ffmpeg for me sinse I don't know ffmpeg's api and I hope it's possible to run ffmpeg this way :
    Can FFmpeg be used as a library, instead of a standalone program ?

    To sum up, I think my problems are due to completely lack of c/c++ knowledge at all, especially how to use run any function from .so library.

    I hope someone can help me :).

  • Split video on android via ffmpeg

    27 septembre 2016, par Lior

    I have tried to use ffmpeg to split video,
    by adding compile 'org.bytedeco:javacv:1.+'and
    compile 'org.bytedeco.javacpp-presets:ffmpeg:3.1.2-1.2:android-arm' to my gradle file i got all of *.os files which is JNI wrap of all ffmpeg library to my android project .

    According ffmpeg wiki there is option to split the video but how i deal with command like ffmpeg -ss 00:22:30 -i Mononoke.Hime.mkv -ss 00:00:30 -frames:v 1 out3.jpg in android.

    I hope for some help if someone delt with splitting video file on android before, Thanks.