Recherche avancée

Médias (91)

Autres articles (59)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Mediabox : ouvrir les images dans l’espace maximal pour l’utilisateur

    8 février 2011, par

    La visualisation des images est restreinte par la largeur accordée par le design du site (dépendant du thème utilisé). Elles sont donc visibles sous un format réduit. Afin de profiter de l’ensemble de la place disponible sur l’écran de l’utilisateur, il est possible d’ajouter une fonctionnalité d’affichage de l’image dans une boite multimedia apparaissant au dessus du reste du contenu.
    Pour ce faire il est nécessaire d’installer le plugin "Mediabox".
    Configuration de la boite multimédia
    Dès (...)

Sur d’autres sites (5416)

  • Convert TS with closed captions into MKV/MP4 with sub title

    28 mars 2017, par Sudheesh

    I am trying to convert a TS file ( with US closed captions ) into MKV ( or MP4 ). Currently I am doing using a three step approach.

    Step-1 : Extract the subtitle in srt format.

    ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map s output.srt

    Step-2 : Transcode the TS into MKV

    ffmpeg i test.ts -vcodec libx264 -acodec copy out.mkv

    Step-3 : Add subtitle back to out.mkv

    ffmpeg -i out.mkv -i output.srt -acodec copy -vcodec copy -scodec copy final.mkv.

    I believe all these three steps can be combined in a single ffmeg command. Is there any way to do this ?.

  • Android plugin with .so lib's (UNITY)

    23 mars 2017, par Vladimir Ilianov

    So i need ffmpeg in android. (for muxing audio and video).
    I found this awesome project for android studio (link in the end of a post, in rar as ffmpeg4android_demo_studio2).
    I works perfect, does muxing and overall awesome project. So i decided to make plugin for anroid from that project, so i remade project like that : (link in the end of a post, in rar as ffmpeg4android_demo_studio ((p.S. the is no GeneralUtils code because its big, please download rar and open it.))

    package com.netcompss.ffmpeg4android;

    public class CommandValidationException extends Exception {
       private static final long serialVersionUID = 1L;
    }

    =============================================

    package com.netcompss.ffmpeg4android;

       import android.content.Context;
       import android.util.Log;
       import android.widget.Toast;    
       public class FFMpeg {
       private Context context;
       private static FFMpeg instance;
       public FFMpeg (){
           this.instance = this;
       }

       public static  FFMpeg instance(){
           if(instance == null){
               instance = new FFMpeg();
           }
           return instance;
       }

       public void setContext(Context context){
           this.context = context;
       }

       public void mux(String video,String audio,String out){
           //GeneralUtils.checkForPermissionsMAndAbove(currentActivity, true);
           LoadJNI vk = new LoadJNI();
           try {
               String workFolder = context.getFilesDir().getAbsolutePath()+ "/";
               String cmd = "ffmpeg -i "+video+" -i "+audio+" -c copy -map 0:v:0 -map 1:a:0 -shortest "+out;
               vk.run(GeneralUtils.utilConvertToComplex(cmd) , workFolder , context);
               Log.i("test", "ffmpeg4android finished successfully");
           } catch (Throwable e) {
               Log.e("test", "vk run exception.", e);
           }
       }

       public void showMessage(String message){
           Toast.makeText(this.context,message,Toast.LENGTH_SHORT).show();
       }

       }

    ==================

    package com.netcompss.ffmpeg4android ;

    import android.app.Activity;
    import android.content.Context;
    import android.widget.TextView;
    import android.os.Bundle;


    public class LicenseCheckJNI
    {

       public int licenseCheck(String path, Context ctx) {
          String rcStr = "-100";
             rcStr = licenseCheckComplexJNI(path);
          int rc =Integer.decode(rcStr);
          return rc;
       }


       public native String licenseCheckComplexJNI(String path);
       public native String licenseCheckSimpleJNI(String path);




       static {
           System.loadLibrary("license-jni");
       }
    }

    package com.netcompss.ffmpeg4android;

    import java.io.File;
    import android.content.Context;
    import android.nfc.Tag;
    import android.util.Log;

    public final class LoadJNI {

      static {
         System.loadLibrary("loader-jni");
         System.loadLibrary("license-jni");
         System.loadLibrary("videokit");

      }

      /**
       *
       * @param args ffmpeg command
       * @param workFolder working directory
       * @param ctx Android context
       * @param isValidate apply validation to the command
       * @throws CommandValidationException
       */
      public void run(String[] args, String workFolder, Context ctx, boolean isValidate) throws CommandValidationException {
         Log.i(Prefs.TAG, "running ffmpeg4android_lib: " + Prefs.version);
         // delete previous log: this is essential for correct progress calculation
         String vkLogPath = workFolder + "vk.log";
         GeneralUtils.deleteFileUtil(vkLogPath);
         GeneralUtils.printCommand(args);

         //printInternalDirStructure(ctx);

         if (isValidate) {
            if (GeneralUtils.isValidCommand(args)) {
               Log.d(Prefs.TAG, "=LOAD================");
               load(args, workFolder, getVideokitLibPath(ctx), true);
            }
            else
               throw new CommandValidationException();
         }
         else {
            Log.d(Prefs.TAG, "=LOAD================");
            load(args, workFolder, getVideokitLibPath(ctx), true);
         }

      }

      /**
       *
       * @param args ffmpeg command
       * @param workFolder working directory
       * @param ctx Android context
       * @throws CommandValidationException
       */
      public void run(String[] args, String workFolder, Context ctx) throws CommandValidationException {
         run(args, workFolder, ctx, true);
      }


      private static void printInternalDirStructure(Context ctx) {
         Log.d(Prefs.TAG, "=printInternalDirStructure=");
         Log.d(Prefs.TAG, "==============================");
         File file = new File(ctx.getFilesDir().getParent());
         analyzeDir(file);
         Log.d(Prefs.TAG, "==============================");
      }

      private static void analyzeDir(File path) {
         if (path.isDirectory()) {
            Log.d(Prefs.TAG,"Scanning dir: " + path.getAbsolutePath());
            File[] files1 = path.listFiles();
            for (int i = 0; i < files1.length; i++) {
               analyzeDir(files1[i]);
            }
            Log.d(Prefs.TAG, "==========");
         }
         else {
            Log.d(Prefs.TAG, path.getAbsolutePath());

         }
      }

      private static String getVideokitLibPath(Context ctx) {

         //File file = new File(ctx.getFilesDir().getParent() + "/lib/");
         //analyzeDir(file);

         String videokitLibPath = ctx.getFilesDir().getParent()  + "/lib/libvideokit.so";

         File file = new File(videokitLibPath);
         if(file.exists())  {    
           Log.i(Prefs.TAG, "videokitLibPath exits");
         }
         else {
            Log.w(Prefs.TAG, "videokitLibPath not exits: " + videokitLibPath);
            videokitLibPath = ctx.getFilesDir().getParent()  + "/lib/arm64/libvideokit.so";
            Log.i(Prefs.TAG, "trying videokitLibPath: " + videokitLibPath);
            file = new File(videokitLibPath);
            if(file.exists())  {
               Log.i(Prefs.TAG, "videokitLibPath exits: " + videokitLibPath);
            }
            else {
               Log.w(Prefs.TAG, "videokitLibPath not exits: " + videokitLibPath);
               videokitLibPath = "/data/app/com.examples.ffmpeg4android_demo-1/lib/arm64/libvideokit.so";
               Log.i(Prefs.TAG, "trying videokitLibPath: " + videokitLibPath);
               file = new File(videokitLibPath);
               if(file.exists())  {
                  Log.i(Prefs.TAG, "videokitLibPath exits: " + videokitLibPath);
               }
               else {
                  Log.w(Prefs.TAG, "videokitLibPath not exits: " + videokitLibPath);
                  videokitLibPath = "/data/app/com.examples.ffmpeg4android_demo-2/lib/arm64/libvideokit.so";
                  Log.i(Prefs.TAG, "trying videokitLibPath: " + videokitLibPath);
                  if(file.exists())  {
                     Log.i(Prefs.TAG, "videokitLibPath exits: " + videokitLibPath);
                  }
                  else {
                     Log.e(Prefs.TAG, "can't find path of lib");
                  }
               }
            }
         }





         //String videokitLibPath = ctx.getFilesDir().getParent()  + "/lib/arm64/libvideokit.so";

         // only this works on Android M, and the number changes (demo-2, demo-1)
         //String videokitLibPath = "/data/app/com.examples.ffmpeg4android_demo-1/lib/arm64/libvideokit.so";


         //Log.i(Prefs.TAG, "videokitLibPath: " + videokitLibPath);
         return videokitLibPath;

      }



      public void fExit( Context ctx) {
         fexit(getVideokitLibPath(ctx));
      }

      public native String fexit(String videokitLibPath);
      public native String unload();
      public native String load(String[] args, String videokitSdcardPath, String videokitLibPath, boolean isComplex);
    }

    ============================

    package com.netcompss.ffmpeg4android;

    public class Prefs {
      public static final String TAG = "ffmpeg4android";
      public static final String version = "322.00.00_LM322";
    }
    [/code]
    [code=JavaScript]
    package com.netcompss.ffmpeg4android;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;

    import android.util.Log;

    public class ProgressCalculator {

      private int _durationOfCurrentWaitIndex = 0;
      private final int DURATION_OF_CURRENT_WAIT_INDEX_LIMIT = 12;
      private String _durationOfCurrent;
      private long _lastVklogSize = -1;
      private int _vkLogNoChangeCounter = 0;
      private SimpleDateFormat _simpleDateFormat;
      long _timeRef = -1;
      int  _prevProgress = 0;
      private String vkLogPath = null;

      public ProgressCalculator(String vkLogPathIn) {
         vkLogPath = vkLogPathIn;
         _simpleDateFormat = new SimpleDateFormat("HH:mm:ss.SS");
         try {
            Date ref = _simpleDateFormat.parse("00:00:00.00");
            ref.setYear(112);
            _timeRef = ref.getTime();
         } catch (ParseException e) {
            Log.w(Prefs.TAG, "failed to set _timeRef");
         }
      }

      public void initCalcParamsForNextInter() {
         Log.i(Prefs.TAG, "initCalcParamsForNextInter");
         _lastVklogSize = -1;
         _vkLogNoChangeCounter = 0;
         _durationOfCurrent = null;

      }

      public int calcProgress() {
         return calcProgress(1);
      }


      public int calcProgress(int durationMultiplyer) {
         //Log.i(Prefs.TAG, "========calc progress======= " + durationMultiplyer);
         int progress  = 0;
         if (_durationOfCurrent == null) {
            String dur = GeneralUtils.getDutationFromVCLogRandomAccess(vkLogPath);
            Log.d(Prefs.TAG, "dur: " + dur);
            if (dur == null || dur.equals("") || dur.equals("null") ) {
               Log.i(Prefs.TAG, "dur is not good, not setting ");
               if (_durationOfCurrentWaitIndex < DURATION_OF_CURRENT_WAIT_INDEX_LIMIT) {
                  Log.i(Prefs.TAG, "waiting for real duration, going out of calcProgress with 0");
                  _durationOfCurrentWaitIndex ++;
                  return 0;
               }
               else {
                  Log.i(Prefs.TAG, "_durationOfCurrentWaitIndex is equal to: " + DURATION_OF_CURRENT_WAIT_INDEX_LIMIT + " reseting.");
                  _durationOfCurrentWaitIndex = 0;
                  Log.i(Prefs.TAG, "setting fake Prefs.durationOfCurrent");

                  _durationOfCurrent = "00:03:00.00";
                  Log.w(Prefs.TAG, "setting fake Prefs.durationOfCurrent (Cant get from file): " + _durationOfCurrent);

               }
            }
            else {
               _durationOfCurrent = GeneralUtils.getDutationFromVCLogRandomAccess(vkLogPath);
               Log.i(Prefs.TAG, "duration: " + _durationOfCurrent + " \nTranscoding...");
            }
         }


         if (_durationOfCurrent != null) {

            long currentVkLogSize = -1;
            currentVkLogSize = GeneralUtils.getVKLogSizeRandomAccess(vkLogPath);
            //Log.d(Prefs.TAG, "currentVkLogSize: " + currentVkLogSize + " _lastVklogSize: " + _lastVklogSize);

            if (currentVkLogSize > _lastVklogSize) {
               _lastVklogSize = currentVkLogSize;
               _vkLogNoChangeCounter = 0;
            }
            else {
               //Log.w(Prefs.TAG, "Looks like Vk log is not increasing in size");
               _vkLogNoChangeCounter++;
            }


            String currentTimeStr = GeneralUtils.readLastTimeFromVKLogUsingRandomAccess(vkLogPath);
            //Log.d(Prefs.TAG, "currentTimeStr: " + currentTimeStr);
            if (currentTimeStr.equals("exit")) {
               Log.d(Prefs.TAG, "============Found one of the exit tokens in the log============");
               return 100;
            }
            else if (currentTimeStr.equals("error") && _prevProgress == 0) {
               Log.d(Prefs.TAG, "============Found error in the log============");
               return 100;
            }
            else if (_vkLogNoChangeCounter > 16) {
               Log.e(Prefs.TAG, "VK log is not changing in size, and no exit token found");
               return 100;
            }
            try {
               Date durationDate = _simpleDateFormat.parse(_durationOfCurrent);
               Date currentTimeDate = _simpleDateFormat.parse(currentTimeStr);
               currentTimeDate.setYear(112);
               durationDate.setYear(112);
               //Log.d(Prefs.TAG, " durationDate: " + durationDate + " currentTimeDate: " + currentTimeDate);

               long durationLong = durationDate.getTime() - _timeRef;
               if (durationMultiplyer != 1) {
                  //Log.i(Prefs.TAG, "====durationMultiplyer is not 1, handling===");
                  //Log.i(Prefs.TAG, "durationLong before: " + durationLong);
                  durationLong = durationLong * durationMultiplyer;
                  //Log.i(Prefs.TAG, "durationLong after: " + durationLong);
               }
               long currentTimeLong = currentTimeDate.getTime() - _timeRef;
               //Log.d(Prefs.TAG, " durationLong: " + durationLong + " currentTimeLong: " + currentTimeLong + " diff: " + (durationLong - currentTimeLong));
               progress  = Math.round(((float)currentTimeLong / durationLong) * 100);
               if (progress >= 100) {
                  Log.w(Prefs.TAG, "progress is 100, but can't find exit in the log, probably fake progress, still running...");
                  progress = 99;
               }
               _prevProgress = progress;


            } catch (ParseException e) {
               Log.w(Prefs.TAG, e.getMessage());
            }
         }

         return progress;
      }


    }

    ==================================

    Then clicked build and copied ffmpeg4android_lib.aar in unity project under assets/Plugins/Android/libs/
    then made this wrap up

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    using System.IO;


    public class Test : MonoBehaviour {

       private AndroidJavaObject FFMpeg = null;
       private AndroidJavaObject activityContext = null;

       public string Path1;
       public string Path2;
       public string Out3;

       public string path;

       public Text File1;
       public Text File2;
       public Text Context;
       public Text End;

       public void Convert(){
           File1.text = File.Exists (path+Path1).ToString();
           File2.text = File.Exists (path+Path2).ToString();
           if (FFMpeg == null) {
               using(AndroidJavaClass activityclass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")){
                   activityContext = activityclass.GetStatic<androidjavaobject> ("currentActivity");
               }
               Context.text = "Context =" + activityContext;
           }
           using (AndroidJavaClass pluginClass = new AndroidJavaClass ("com.netcompss.ffmpeg4android.FFMpeg")) {
               if (pluginClass != null) {
                   FFMpeg = pluginClass.CallStatic<androidjavaobject> ("instance");
                   FFMpeg.Call ("setContext", activityContext);
                   //activityContext.Call ("runOnUiThread", new AndroidJavaRunnable (() => {
                   FFMpeg.Call ("mux", path+Path1,path+Path2,path+Out3);
                   //}));
               }
           }
           End.text = "Done";

       }
    }
    </androidjavaobject></androidjavaobject>

    =============================================

    And the problem is :
    When i launch apk made from original project in AndroidStudio everything works fine.
    When i launch apk made in unity its works fine until this part :
    load(args, workFolder, getVideokitLibPath(ctx), true) ;

    IT does load all lib ok.
    Its throw this error in logcat when trying to do that code

    03-23 10:43:17.293 28263-28277/? W/dalvikvm: No implementation found for native Lcom/netcompss/ffmpeg4android/LoadJNI;.load:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    03-23 10:43:17.294 28263-28277/? E/test: vk run exception.
                                            java.lang.UnsatisfiedLinkError: Native method not found: com.netcompss.ffmpeg4android.LoadJNI.load:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
                                                at com.netcompss.ffmpeg4android.LoadJNI.load(Native Method)
                                                at com.netcompss.ffmpeg4android.LoadJNI.run(LoadJNI.java:37)
                                                at com.netcompss.ffmpeg4android.LoadJNI.run(LoadJNI.java:57)
                                                at com.netcompss.ffmpeg4android.FFMpeg.mux(FFMpeg.java:36)
                                                at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
                                                at com.unity3d.player.UnityPlayer.a(Unknown Source)
                                                at com.unity3d.player.UnityPlayer$b$1.handleMessage(Unknown Source)
                                                at android.os.Handler.dispatchMessage(Handler.java:103)
                                                at android.os.Looper.loop(Looper.java:194)
                                                at com.unity3d.player.UnityPlayer$b.run(Unknown Source)

    Projects Dropbox link :
    https://www.dropbox.com/s/6vglcw7xk2n8lwu/AndroidStudioProjects.rar?dl=0

  • Media type mismatch Error in ffmpeg-android while Concating videos

    21 mars 2017, par Karandeep Atwal

    I concat different mp4 videos with different properties like aspect ratio, SAR value, frame size using this command in ffmpeg-android-

    final String joinVideo = "-i "+Vid1+" -i "+Vid2+" -i "+Vid3+" -i "+Vid4+" -filter_complex [0]setdar=16/9[a];[1]setdar=16/9[b];[2]setdar=16/9[c];[3]setdar=16/9[d];[a][b][c][d]concat=n=4:v=1:a=1 "+Outputfile;

    My logcat shows-

    03-21 13:06:05.537 26112-26311/com.karandeepEnact I/System.out: --onStart-->
    03-21 13:06:05.545 26112-26312/com.karandeepEnact D/FFmpeg: Running publishing updates method
    03-21 13:06:05.576 26112-26112/com.karandeepEnact I/System.out: --onProgress-->ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
    03-21 13:06:05.580 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  built with gcc 4.8 (GCC)
    03-21 13:06:05.580 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    03-21 13:06:05.620 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libavutil      55. 17.103 / 55. 17.103
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libavcodec     57. 24.102 / 57. 24.102
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libavformat    57. 25.100 / 57. 25.100
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libavdevice    57.  0.101 / 57.  0.101
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libavfilter     6. 31.100 /  6. 31.100
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libswscale      4.  0.100 /  4.  0.100
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libswresample   2.  0.101 /  2.  0.101
    03-21 13:06:05.621 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  libpostproc    54.  0.100 / 54.  0.100
    03-21 13:06:05.653 26112-26112/com.karandeepEnact I/System.out: --onProgress-->Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid.mp4':
    03-21 13:06:05.653 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Metadata:
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    major_brand     : isom
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    minor_version   : 512
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    compatible_brands: isomiso2avc1mp41
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    title           : 1282287935171187
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    encoder         : Lavf56.40.101
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Duration: 00:12:11.52, start: 0.169000, bitrate: 292 kb/s
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 400x400, 268 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
    03-21 13:06:05.654 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.655 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      handler_name    : VideoHandler
    03-21 13:06:05.655 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #0:1(und): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 19 kb/s (default)
    03-21 13:06:05.676 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.679 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      handler_name    : SoundHandler
    03-21 13:06:05.679 26112-26112/com.karandeepEnact I/System.out: --onProgress-->[mov,mp4,m4a,3gp,3g2,mj2 @ 0xad6b9600] sample aspect ratio already set to 1:1, ignoring 'pasp' atom (65536:65536)
    03-21 13:06:05.788 26112-26112/com.karandeepEnact I/System.out: --onProgress-->Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid1.mp4':
    03-21 13:06:05.789 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Metadata:
    03-21 13:06:05.789 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    major_brand     : mp42
    03-21 13:06:05.789 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    minor_version   : 0
    03-21 13:06:05.789 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    compatible_brands: isommp42
    03-21 13:06:05.790 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    creation_time   : 2017-03-20 09:36:26
    03-21 13:06:05.790 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    com.android.version: 7.0
    03-21 13:06:05.790 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Duration: 00:00:09.47, start: 0.000000, bitrate: 6138 kb/s
    03-21 13:06:05.815 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #1:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 720x480, 6004 kb/s, SAR 1:1 DAR 3:2, 29.99 fps, 30 tbr, 90k tbn, 180k tbc (default)
    03-21 13:06:05.815 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.816 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      rotate          : 90
    03-21 13:06:05.816 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      creation_time   : 2017-03-20 09:36:26
    03-21 13:06:05.816 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      handler_name    : VideoHandle
    03-21 13:06:05.816 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Side data:
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      displaymatrix: rotation of -90.00 degrees
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      creation_time   : 2017-03-20 09:36:26
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      handler_name    : SoundHandle
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid2.mp4':
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Metadata:
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    major_brand     : mp42
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    minor_version   : 1
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    compatible_brands: mp41mp42isom
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    creation_time   : 2017-02-28 04:56:18
    03-21 13:06:05.817 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Duration: 00:00:30.87, start: 0.000000, bitrate: 568 kb/s
    03-21 13:06:05.832 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 400x400, 482 kb/s, 25 fps, 25 tbr, 600 tbn, 1200 tbc (default)
    03-21 13:06:05.832 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.832 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      creation_time   : 2017-02-28 04:56:18
    03-21 13:06:05.832 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      handler_name    : Core Media Video
    03-21 13:06:05.832 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #2:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 81 kb/s (default)
    03-21 13:06:05.832 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.833 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      creation_time   : 2017-02-28 04:56:18
    03-21 13:06:05.833 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      handler_name    : Core Media Audio
    03-21 13:06:05.849 26112-26112/com.karandeepEnact I/System.out: --onProgress-->Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid3.mp4':
    03-21 13:06:05.868 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Metadata:
    03-21 13:06:05.869 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    major_brand     : mp42
    03-21 13:06:05.869 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    minor_version   : 0
    03-21 13:06:05.869 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    compatible_brands: mp42isom
    03-21 13:06:05.869 26112-26112/com.karandeepEnact I/System.out: --onProgress-->  Duration: 00:00:31.40, start: 0.000000, bitrate: 1771 kb/s
    03-21 13:06:05.869 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #3:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x368, 1644 kb/s, 30.04 fps, 30.04 tbr, 30041 tbn, 60082 tbc (default)
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Metadata:
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      rotate          : 90
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Side data:
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->      displaymatrix: rotation of -90.00 degrees
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->    Stream #3:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->[Parsed_setdar_1 @ 0xad6aa1c0] Media type mismatch between the 'Parsed_setdar_1' filter output pad 0 (video) and the 'Parsed_concat_4' filter input pad 1 (audio)
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->[AVFilterGraph @ 0xad697180] Cannot create the link setdar:0 -> concat:1
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->Error initializing complex filters.
    03-21 13:06:05.870 26112-26112/com.karandeepEnact I/System.out: --onProgress-->Invalid argument
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out: --onFailure-->ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   built with gcc 4.8 (GCC)
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libavutil      55. 17.103 / 55. 17.103
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libavcodec     57. 24.102 / 57. 24.102
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libavformat    57. 25.100 / 57. 25.100
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libavdevice    57.  0.101 / 57.  0.101
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libavfilter     6. 31.100 /  6. 31.100
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libswscale      4.  0.100 /  4.  0.100
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libswresample   2.  0.101 /  2.  0.101
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   libpostproc    54.  0.100 / 54.  0.100
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid.mp4':
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   Metadata:
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     major_brand     : isom
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     minor_version   : 512
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     compatible_brands: isomiso2avc1mp41
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     title           : 1282287935171187
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     encoder         : Lavf56.40.101
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:   Duration: 00:12:11.52, start: 0.169000, bitrate: 292 kb/s
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 400x400, 268 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:       handler_name    : VideoHandler
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     Stream #0:1(und): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 19 kb/s (default)
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.871 26112-26112/com.karandeepEnact I/System.out:       handler_name    : SoundHandler
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xad6b9600] sample aspect ratio already set to 1:1, ignoring 'pasp' atom (65536:65536)
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out: Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid1.mp4':
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:   Metadata:
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     major_brand     : mp42
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     minor_version   : 0
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     compatible_brands: isommp42
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     creation_time   : 2017-03-20 09:36:26
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     com.android.version: 7.0
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:   Duration: 00:00:09.47, start: 0.000000, bitrate: 6138 kb/s
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     Stream #1:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 720x480, 6004 kb/s, SAR 1:1 DAR 3:2, 29.99 fps, 30 tbr, 90k tbn, 180k tbc (default)
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:       rotate          : 90
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:       creation_time   : 2017-03-20 09:36:26
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:       handler_name    : VideoHandle
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     Side data:
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:       displaymatrix: rotation of -90.00 degrees
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:       creation_time   : 2017-03-20 09:36:26
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:       handler_name    : SoundHandle
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out: Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid2.mp4':
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:   Metadata:
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     major_brand     : mp42
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     minor_version   : 1
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     compatible_brands: mp41mp42isom
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:     creation_time   : 2017-02-28 04:56:18
    03-21 13:06:05.872 26112-26112/com.karandeepEnact I/System.out:   Duration: 00:00:30.87, start: 0.000000, bitrate: 568 kb/s
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 400x400, 482 kb/s, 25 fps, 25 tbr, 600 tbn, 1200 tbc (default)
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:       creation_time   : 2017-02-28 04:56:18
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:       handler_name    : Core Media Video
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Stream #2:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 81 kb/s (default)
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:       creation_time   : 2017-02-28 04:56:18
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:       handler_name    : Core Media Audio
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out: Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Download/vid3.mp4':
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:   Metadata:
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     major_brand     : mp42
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     minor_version   : 0
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     compatible_brands: mp42isom
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:   Duration: 00:00:31.40, start: 0.000000, bitrate: 1771 kb/s
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Stream #3:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x368, 1644 kb/s, 30.04 fps, 30.04 tbr, 30041 tbn, 60082 tbc (default)
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Metadata:
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:       rotate          : 90
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Side data:
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:       displaymatrix: rotation of -90.00 degrees
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out:     Stream #3:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out: [Parsed_setdar_1 @ 0xad6aa1c0] Media type mismatch between the 'Parsed_setdar_1' filter output pad 0 (video) and the 'Parsed_concat_4' filter input pad 1 (audio)
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out: [AVFilterGraph @ 0xad697180] Cannot create the link setdar:0 -> concat:1
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out: Error initializing complex filters.
    03-21 13:06:05.873 26112-26112/com.karandeepEnact I/System.out: Invalid argument
    03-21 13:06:05.874 26112-26112/com.karandeepEnact I/System.out: --onFinish-->
    03-21 13:08:12.360 26112-26120/com.karandeepEnact I/art: Debugger is no longer active
    03-21 13:08:12.360 26112-26120/com.karandeepEnact I/art: Starting a blocking GC Instrumentation