@Override
  public Map<String,Object> handle(TaskExecution aTask) throws Exception {
    CommandLine cmd = new CommandLine ("ffprobe");
    cmd.addArgument("-v")
       .addArgument("quiet")
       .addArgument("-print_format")
       .addArgument("json")
       .addArgument("-show_error")
       .addArgument("-show_format")
       .addArgument("-show_streams")
       .addArgument(aTask.getRequiredString("input"));
    log.debug("{}",cmd);
    DefaultExecutor exec = new DefaultExecutor();
    File tempFile = File.createTempFile("log", null);
    try (PrintStream stream = new PrintStream(tempFile);) {
      exec.setStreamHandler(new PumpStreamHandler(stream));
      exec.execute(cmd);
      return parse(FileUtils.readFileToString(tempFile));
    }
    catch (ExecuteException e) {
      throw new ExecuteException(e.getMessage(),e.getExitValue(), new RuntimeException(FileUtils.readFileToString(tempFile)));
    }
    finally {
      FileUtils.deleteQuietly(tempFile);
    }
  }
Executes an ffprobe command on a given input. 

@author Arik Cohen
@since May 23, 2017
src/main/java/com/creactiviti/piper/taskhandler/media/Ffprobe.java