| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Переменные окружения для mplayer |
| Автор: paulfil 27.4.2006, 22:12 |
| В шелле такая команда работает: mplayer -really-quiet -vo jpeg:quality=50 -ss 10 -frames 4 -nosound -noloop test.wmv >out.txt Делаю то же из CGI скрипта: $q="mplayer -really-quiet -vo jpeg:quality=50 -ss 10 -frames 4 -nosound -noloop ${clipfile} >${basedir}/out.txt"; system($q); Не работает. Пишет что не определена HOME directory. Когда делаю так: $ENV{HOME}="${home}"; тоже не работает, но уже продвигается дальше То есть, похоже нужно установить все переменные окружения которые уже установлены, когда я вызываю mplayer из shell. Как это сделать? Скрипт выполняется с правами того же пользователя, что и шелл. |
| Автор: GoodBoy 28.4.2006, 10:17 |
| попробуй или вызывать mplayer с полным путём, н-р: "C:\Program Files\Windows Media Player\mplayer" (или какой он у тебя), или перед вызовом mplayer ... перейти в его домашнюю директорию: chdir("C:\Program Files\Windows Media Player\"); |
| Автор: paulfil 28.4.2006, 20:11 |
| Спасибо за ответ! пробовал и chdir() и system('cd ...') - результат такой же как без этого. mplayer стоит на сервере под управлением FreeBSD. Просто он умеет использовать dll библиотеки для работы с форматом .wmv Мне нужно чтобы при вызове mplayer с помощью функции system() переменные окружения были установлены так же, как при вызове mplayer из shell. |
| Автор: paulfil 30.4.2006, 10:54 |
| Я нашёл как сделать это с помощью PHP: shell_exec( "mplayer ..............." ); Подскажите пожалуйста Perl аналог PHP функции shell_exec |
| Автор: sharq 2.5.2006, 16:16 | ||
| paulfil, почитай про exec и обратные кавычки или qx//. Я почти всегда используй обратные кавычки, т.к. всегда можно обработать результат выполнения. Вот пример:
|