2010-05-21 2 views
2

В настоящее время функционирующий прототип имеет все необходимое для работы: полупрозрачное окно для легкого изменения размера на месте, которое вы хотите записать, несколько потоков для управления съемкой экрана и т. Д., Но одна последняя задача, в которой я нуждаюсь ускользнул от меня в течение нескольких месяцев. Мне нужно преобразовать все изображения, которые я сбросил в папку, которую я сделал, с именем temp (который я удаляю после завершения) в фильм.Преобразование серии изображений в видео на Java?

Я уже нашел this,, но это отдельная вещь, которую вы используете в оболочке. Мне нужно просто настроить его так, чтобы он просто конвертировал все изображения (screencapture1.jpg, screencapture2.jpg и т. Д.) В один фильм.

Почему я не могу это сделать сам? Потому что я сосать в понимании работы других людей, программируя на языке. Я не знаю, почему, но если это не самая простая вещь, я никогда не смогу ее понять.

ответ

5

Я бы посоветовал просто научиться вызывать внешние программы из вашей java-программы. Затем вы можете запустить эту программу, к которой вы привязались. Или, если вы хотите еще больше возможностей, использовать ffmpeg, который будет делать это автоматически из командной строки, а также:

ffmpeg -i screencapture%d.jpg -vcodec mpeg4 outfile.avi 

FFmpeg позволяет настроить много вещей о выходе видео. Просто ознакомьтесь с документацией по всем параметрам.

Команда Java Runtime.getRuntime().exec(...) позволит вам запускать любую командную строку, которую вы передаете. Есть много примеров того, как это сделать, если вы Google это.

+0

Добавление библиотеки FFmpeg умножит размер моего приложения более чем на 300 раз ... = ( Кроме того, как я могу его использовать? Я плохо разбираюсь в оболочках, но я точно знаю, что должен сказать свою оболочку, Библиотека FFmpeg перед вводом 'ffmpeg -i screencapture% d.jpg -vcodec mpeg4 outfile.avi' будет работать. – 2010-05-21 20:42:44

+1

Возможно, вам придется указать полный путь. Если в Windows это может быть что-то вроде' Runtime.getRuntime(). exec ("C: \\ Program Files \\ ffmpeg \\ ffmpeg.exe -i screencapture% d.jpg -vcodec mpeg4 outfile.avi"); 'соответственно заменяет путь к вашему исполняемому файлу. Я знаю, что это увеличит ваш размер приложения очень много, но это довольно сложно, когда вы думаете о возможностях, которые вам нужны. Вам нужен JPEG-декодер и MPEG-видеокодер, оба из которых довольно сложны. Кроме того, вы, вероятно, хотите, чтобы это было довольно быстро. Нет штейна какое решение вы используете, это займет пространство. –

+0

Хорошо. Можно ли удалить ненужные части библиотеки FFmpeg, чтобы уменьшить ее? – 2010-05-21 23:07:23

2

Я предлагаю использовать для этого Xuggler. Here's an introduction.

+1

Есть ли учебник для того, что я ищу? Благодарю. – 2010-05-21 00:27:52

 Смежные вопросы

  • Нет связанных вопросов^_^