mp3 converting
От: _joker Россия  
Дата: 27.05.04 20:27
Оценка:
Кто-нибудь занимался конвертированием mp3 файлов?

может посоветуете нормальный encoder... с интерфейсами на Java
единственное что я смог найти проект tritonus со встроенным Lame, с частичной заменой javax.sound
все бы замечательно, но конвертирование mp3 для получения на выходе определнных параметров(bitrate,mode,freq,...) валится с ошибками или вабще подвисает.
Полез в исходники, оказалось что некоторые форматы вабще не доступны

пришел к выводу — единственное решение использовать внешнюю утилитку, запускаемую в шелле.
Есть какие-нибудь мысли?
... << RSDN@Home 1.1.3 stable >>
Re: mp3 converting
От: bleed  
Дата: 27.05.04 20:40
Оценка:
_>Есть какие-нибудь мысли?

Тут ведь, кроме технических вопросов, есть еще и вопросы лицензирования. Не всякий энкодер можно использовать в коммерческих приложениях бесплатно.

Мы, например, действительно пускаем lame отдельным процессом и обрабатываем результаты его работы. Ничего, сносно работает.
Re[2]: mp3 converting
От: _joker Россия  
Дата: 28.05.04 06:50
Оценка:
Здравствуйте, bleed, Вы писали:

_>>Есть какие-нибудь мысли?


B>Тут ведь, кроме технических вопросов, есть еще и вопросы лицензирования. Не всякий энкодер можно использовать в коммерческих приложениях бесплатно.


B>Мы, например, действительно пускаем lame отдельным процессом и обрабатываем результаты его работы. Ничего, сносно работает.


да я читал что у lame лицензия LGPL

отдельным процессом? это значит на другой JVM?
просто есть опасения — как бы не вылетела основная JVM, где томкат работает...
написал RMI сервер, который будет принимать запросы пользователей, создавать потоки, в которых буду запускать
в командной строке утилитку конвертирования...
так надежней
Re[3]: mp3 converting
От: Alex-AKF  
Дата: 15.06.04 16:22
Оценка:
> просто есть опасения — как бы не вылетела основная JVM, где томкат
> работает...

O'Relly Java Servlet Programming

public class Finger extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
String command = "finger";
Runtime runtime = Runtime.getRuntime();
Process process = null;
try {
process = runtime.exec(command);
DataInputStream in = new DataInputStream(process.getInputStream());
// Read and print the output
String line = null;
while ((line = in.readLine()) != null) {
out.println(line);
}
}
catch (Exception e) {
out.println("Problem with finger: " +
ServletUtils.getStackTraceAsString(e));
}
}
}


This servlet uses the exec() command just like any other Java class would.
It executes the finger command, then reads and prints the output. If
there's a problem, the servlet catches an exception and prints the stack
trace to the user. This servlet assumes the finger command exists in the
default search path. If that isn't the case, change the command string to
specify the path where finger can be found.

We should point out that, although Java is executing native code when it
executes the finger program, it doesn't open itself up to the risks that
normally exist when executing native code. The reason is that the finger
program executes as a separate process. It can crash or be killed without
impacting the server executing the servlet.
Posted via RSDN NNTP Server 1.9 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.