Java: Захват видео того, что на экране

Мы рассматриваем возможность написания программного обеспечения на Java, которое записывает монитор Whats в течение определенного периода времени во время его работы. Есть ли у вас какие-либо предложения о том, как эффективно захватить вывод монитора?

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

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


person 700 Software    schedule 09.03.2011    source источник


Ответы (4)


Я не уверен, что вам понадобится фреймворк.

Ознакомьтесь с документацией по классу java.awt.Robot, особенно по методу createScreenCapture.

http://java.sun.com/javase/6/docs/api/java/awt/Robot.html

person unk1102    schedule 09.03.2011
comment
Это выглядит хорошо. Спасибо. Я протестировал этот пример, и он сработал: devx.com/tips/Tip/15158 - person 700 Software; 09.03.2011
comment
Мера. Ходят слухи, что он медленный. - person Thorbjørn Ravn Andersen; 09.03.2011
comment
@Thorbj..: Я могу делать чуть более трех скриншотов в секунду, и это не замедляет работу ПК. Однако курсор мигает для каждого снимка экрана в Vista. Это нежелательно. - person 700 Software; 10.03.2011

Одна из лучших платформ Java — Медиатека Monte, но сначала взгляните на это , чтобы придумать идею.

Дайте мне знать, если это работает :)

person Community    schedule 11.08.2015

Что ж, с OpenCV вы можете захватывать кадры и помещать их в видео (я сделал это для проекта Senior Design с отслеживанием движения для школы), для OpenCV есть большое количество примеров. однако я знаком только с привязками С++, а не с Java (но есть и библиотеки C, Python)

Это ДОЛЖНО быть java? потому что использовать OpenCV для захвата видео ЧРЕЗВЫЧАЙНО просто (это вопрос простого захвата кадровых буферов в цикле)

Извините, мне жаль, что у меня не было ответа, связанного с java ..... но я бы в любом случае перезвонил, потому что OpenCV очень удобен в использовании.

изменить: http://code.google.com/p/javacv/

JavaCV содержит обертки для классов C? может стоит посмотреть.

person Community    schedule 09.03.2011
comment
Какой синтаксис C++ будет использоваться для захвата снимка экрана? Автор JavaCV сказал, что он намеренно решил сохранить как можно больше исходного синтаксиса, поэтому синтаксис C++ может оказаться полезным. - person 700 Software; 10.03.2011

В Java есть методы класса Robot для создания скриншотов, но они никоим образом не оптимизированы для создания видео.

Есть ли причина, по которой вы не можете ссылаться на программу захвата экрана для конкретной платформы?

person Thorbjørn Ravn Andersen    schedule 09.03.2011
comment
Производительность является первостепенной задачей. Если мы будем разрабатывать эту программу, то она будет на Java. И мы хотим знать, насколько хорошо он может работать и как лучше всего это сделать. - person 700 Software; 09.03.2011