Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Runtime.Exec !!! Проблема с запуском программы в Linux 
:(
    Опции темы
Krivoy
Дата 6.10.2008, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 6.2.2008
Где: г. Киров

Репутация: нет
Всего: нет



Цитата(Nord2008 @ 3.10.2008,  13:32)
Цитата

ИМХО занеси это все в скрипт и выполняй его.

а как тогда менять названия и пути к клипам\фильмам?? Парсить и менять каждый раз файл?  smile

Пути можно задавать как параметры к запуску и обращаться к ним как $1 $2 и т.д.
У тебя --- String[] cmd ={"ffmpeg","-i", ..... и т.д.   --- не задумывался что выполняться будет ffmpeg-i .... и т.д. - думаю врядли такая команда есть  smile  - если захочешь свой вариант - поставь пробелы.
Образец скрипта:
Код

!#/bin/sh

ffmpeg -i $1 -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 -title X $2



Ну к примеру назевёшь ты его tydysh.sh и соответственно первым параметром запуска первый путь, вторым второй ---

Код

String[] cmd ={"tydysh.sh ", "/home/white/Media/Video/Clips/Delain-SeeMeInShadow.avi ", "/home/white/Media/Video/Clips/Delain-SeeMeInShadow.avi.coded.mp4"];
.......


Еще раз обращаю внимание на пробелы! Ну и на путь до скрипта.
PM MAIL   Вверх
Nord2008
Дата 6.10.2008, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



Спасибо большое! Попробую!(думаю что это выход!smile ) Отпишусь как работает...
PM MAIL   Вверх
Nord2008
Дата 6.10.2008, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



Ещё раз всем СпАсИбО! smile  Но если кто-нибудь знает как сделать не через командный файл--пишите,буду рад предложениям!
PM MAIL   Вверх
SoulKeeper
Дата 6.10.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.1.2007
Где: Ukraine, Lviv.

Репутация: 11
Всего: 15



На прямую ffmpeg дёргать можно, передавая ему параметры.

Юзали его на проекте. Что у дэвов под виндой, что на сервере под линухом - работало идеально.
PM MAIL   Вверх
Nord2008
Дата 7.10.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



Цитата

На прямую ffmpeg дёргать можно, передавая ему параметры.

Юзали его на проекте. Что у дэвов под виндой, что на сервере под линухом - работало идеально.

Напиши поподробнее как делали! smile 
PM MAIL   Вверх
SoulKeeper
Дата 8.10.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.1.2007
Где: Ukraine, Lviv.

Репутация: 11
Всего: 15



Код

  private void convertToFlv(File video, File audio) {
    String audioPath = "";
    String i = "";
    String map = "";
    if (audio != null) {
      audioPath = audio.getAbsolutePath();
      i = " -i ";
      map = " -map 0:0 -map 1:0";
    }
    try {
      Runtime.getRuntime().exec(getCodecPath()
                                           + " -i "
                                           + video.getName()
                                           + ".mpg"
                                           + i
                                           + audioPath
                                           + map
                                           + " -f flv -s 320x240 -aspect 4:3 -y "
                                           + video.getAbsolutePath(),
                                       null,
                                       new File(getAttachmentsDirectory()));
    } catch (IOException e) {
      log.warn("Can't convert file to flv", e);
      return;
    }
  }


getCodecPath() возвращает путь к ffmpeg, getAttachmentsDirectory() рабочую папку для нового процесса.

Это сообщение отредактировал(а) SoulKeeper - 8.10.2008, 11:21
PM MAIL   Вверх
Nord2008
Дата 8.10.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



Спасибо большое за помошь! Но подскажи что-за прогцедура getCodecPath() (если можете,и вас незатруднит распишите её) И ещё вопросик: у вас прога склеивает видеофайл и звуковой в оди flv ?
PM MAIL   Вверх
SoulKeeper
Дата 8.10.2008, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.1.2007
Где: Ukraine, Lviv.

Репутация: 11
Всего: 15



Да, склеивает.

getCodecPath() возвращает путь к ffmpeg. Берется из конфига, т.к. на линухе и винде разный.
PM MAIL   Вверх
Nord2008
Дата 10.10.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



Привет. Вот мой код:
Код

  File f = new File ("/home/white/Media/Video/Clips/Delain - See Me In Shadow.avi");
  Runtime.getRuntime().exec("/usr/bin/ffmpeg "
                                           + " -i "
                                           + f.getName()
                                           + " -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 -title X "
                                           + f.getAbsolutePath()+ ".mpg",
                                           null,
                                           new File(f.getParent()));
 Можешь подсказать где ошибка?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0978 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.