Как запустить ffmpeg cmd, если в пути к директору или имени файла есть место - PullRequest
0 голосов
/ 18 января 2019

Я использую ffmpeg для обрезки видео через Android, все работает нормально, но проблема возникает только в том случае, если в исходном каталоге есть пробел, команда не работает, говоря, что файл не найден

-i /storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4 -acodec copy -vcodec copy -ss 00:00:10 -t 00:00:20 /storage/emulated/0/1547813275685ChunkClip.mp4

файл не найден, как «Файл не найден -i / storage / emulated / 0 / ISave»

Но для другого пути нет проблем, и все работает нормально, только если в пути к файлу есть место, проблема возникает

1 Ответ

0 голосов
/ 18 января 2019

Классный вопрос

Очень сложно решить проблемы, даже если мы найдем решение. Следующая ссылка показывает некоторые исправления для решения подобных проблем Цитирование и экранирование

Так что для вашей проблемы есть исправление. Добавьте каждое слово в комментариях ffmpeg в LinkedList и затем преобразуйте в массив команд, чтобы ffmpeg выполнил его

следующим образом (согласно вашей команде требований)

List<String> cmdList = new LinkedList<>();
                cmdList.add("-i");
                cmdList.add("/storage/emulated/0/ISave Videos/Br0gv9anKKg.mp4");
                cmdList.add("-acodec");
                cmdList.add("copy");
                cmdList.add("-vcodec");
                cmdList.add("copy");
                cmdList.add("-ss");
                cmdList.add("00:00:10");
                cmdList.add("-t");
                cmdList.add("00:00:20");
                cmdList.add("/storage/emulated/0/1547813275685ChunkClip.mp4");

String[] command  = cmdList.toArray(new String[cmdList.size()]);

Надеюсь, что ваша проблема будет решена с помощью этого решения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...