#java #video
#java #Видео
Вопрос:
Привет, я пытаюсь выполнить командную строку с помощью Runtime.getRuntime.exec (строка cmd).Что
на самом деле я пытаюсь извлечь I-кадры из видео с помощью MPlayer, и это
установлен в каталоге, отличном от каталога моей рабочей области eclipse.
Я использую Java-код, подобный приведенному ниже
C:\Program Files\MPlayer for Windows mplayer file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I
фактическая команда для извлечения с использованием DOS является
"mplayer file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I".
РАБОЧЕЕ пространство ECLIPSE находится на моем диске d:.И Mplayer находится в c:program filesMplayer для Windows.
Eclipse IDE отображает исключение как:-
Exception in thread "main" java.io.IOException: Cannot run program "C:Program FilesMPlayer for Windows": CreateProcess error=5, Access is denied
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at myvideo1.main(myvideo1.java:39)
Любая помощь приветствуется.
Комментарии:
1. просто добавьте
mplayer
в свой PATH2. Опубликуйте свой код, прямо сейчас кажется, что вы запускаете папку
3. я думаю, что это также может быть проблемой — вы пропустили набор косых черт?
4. эй, я допустил ошибку при вводе, я использовал только \ not \ Runtime.getRuntime().exec(«C:\Program Files \MPlayer для Windows mplayer file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I «); Это единственная строка, которую я использую для извлечения i кадров.
5. Какой ПУТЬ?, Где я должен указать путь к MPlayer?
Ответ №1:
Попробуйте это:
exec(""C:\Program Files\MPlayer for Windows\mplayer" file.mp4 -benchmark -noframedrop -ao null -vo jpeg:outdir=iframes -vf framestep=I");
Я заключил команду в «, поскольку путь содержит пробелы, и добавил отсутствующий перед mplayer.
Комментарии:
1. Привет, лаз, я попробовал то, что вы указали выше, но он показывает ту же ошибку и что ‘mplayer’ — это не папка, это часть команды:- mplayer file.mp4 -benchmark -noframedrop -ao null -vo jpeg: outdir = iframes -vf framestep =I
2. Конечно, я понимаю, что mplayer — это исполняемый файл, а не каталог. Однако предоставленная мной строка не обрабатывает ее как каталог. » после mplayer должен экранировать символ ‘»‘ в строке. Вам нужен ‘»‘, поскольку путь к каталогу содержит пробелы.