Java FFmpeg нет выходных - PullRequest
       10

Java FFmpeg нет выходных

0 голосов
/ 31 декабря 2018

Я столкнулся с проблемой.Я хочу конвертировать видео с помощью ffmpeg, но это не дает мне вывода

public void convert(String inputFile, String outputFile, String ... optionalParams) {
    ProcessBuilder processBuilder = new ProcessBuilder("ffmpeg", "-i", "\"" + inputFile.trim() +"\"", "\""+ outputFile.trim() + "\"");
    DownloadRecord downloadRecord = table.getItems().get(0);
    downloadRecord.setStatus("Downloading");
       // Try to execute process
       try {
           // Set the working directory
           processBuilder.directory(new File(workingDirectory));
           //Start the process
           Process process = processBuilder.start();

           // Read the output from cmd
           BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
           BufferedReader ra = new BufferedReader(new InputStreamReader(process.getErrorStream()));

           String line;
           String errline;
           while ((line = r.readLine()) != null) {
                System.out.println(line);
           }

           while ((errline = ra.readLine()) != null) {
                System.out.println(errline);
           }
           process.waitFor();
           System.out.println("the end");
       } catch(IOException | InterruptedException e) {
           System.out.println(e.toString());
       }
}

Я искал на стеке поток и нашел несколько решений, ни одно из которых не сработало.То, что я пробовал и выяснил до сих пор

  • Нет вывода или вывода ошибок
  • Я пытался удалить обратную косую черту из ProcessBuilder, это также не дает мне вывода
  • Я пыталсячтобы запустить программу, но она никогда не завершается
  • Я пытался использовать полный путь к ffmpeg, без изменений
  • Я пытался запустить видео, без ошибок
  • Iя использую Netbeans IDE, поэтому я попытался очистить и перестроить проект, без изменений
  • процесс также никогда не завершается

Я хотел бы получить из него вывод.Кто-то знает, что я здесь делаю не так?

1 Ответ

0 голосов
/ 31 декабря 2018

Я исправил это, переустановив ffmpeg.Просто зашел на сайт ffmpeg, скачал последнюю версию, заменил файлы в папке, и он работает

Редактировать: По какой-то причине он работает только с файлами менее чем за 2 минуты, более чем за 2 минуты файлы ведут себя так, как я начинаю конвертировать,он не будет полностью преобразован, пока не запустится программа.После того, как я выйду из программы, она закончится.Странное поведение.

...