|
|
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Необходимо быстро(25-30 к\c) получать скриншоты экрана с помощью java. Возможно ли это? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 06:47 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
Что такое быстрое, по вашему, - Вы написали. А что такое "медленное" и каким макаром оно у вас работает и почему не устраивает - таки нет. Вообще-то, насчёт скриншотов я знаю только один способ - класс Robot. Хотя, возможно, мои знания устарели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 09:58 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
ShSergeЧто такое быстрое, по вашему, - Вы написали. А что такое "медленное" и каким макаром оно у вас работает и почему не устраивает - таки нет. Вообще-то, насчёт скриншотов я знаю только один способ - класс Robot. Хотя, возможно, мои знания устарели. Спасибо. Robot очень медленный, около 8-10 кадров в секунду. Мне нужно минимум 25-30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:10 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavelСпасибо. Robot очень медленный, около 8-10 кадров в секунду. Мне нужно минимум 25-30. Я подозреваю что дело не в Robot-е. А в остальных операциях тоже. Кадры же надо где-то хранить. Сжимать. И желательно эти всё отдельным потоком. Вот запустил пример отсюда http://www.dreamincode.net/forums/topic/234896-faster-screen-capture/ Результат Seconds it took for 32 screen captures: 1.22 Так что, полагаю, дело совсем не в роботе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:19 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGorloPavelСпасибо. Robot очень медленный, около 8-10 кадров в секунду. Мне нужно минимум 25-30. Я подозреваю что дело не в Robot-е. А в остальных операциях тоже. Кадры же надо где-то хранить. Сжимать. И желательно эти всё отдельным потоком. Вот запустил пример отсюда http://www.dreamincode.net/forums/topic/234896-faster-screen-capture/ Результат Seconds it took for 32 screen captures: 1.22 Так что, полагаю, дело совсем не в роботе. Странно, но у меня ссылка не открывается. Можете перезалить куда-нибудь? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:28 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavel, Ну, вот код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Запустите и сообщите результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:31 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGorloPavel, Ну, вот код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Запустите и сообщите результат. 1.877 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:43 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavel 1.877 Ну, дык это уже 17, а не 8-10, как было заявлено выше. А что видео интегрированное? У меня на двух мониторах 1.1 - 1.2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:47 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
А какая задача стоит? Может взять нативную либу и стримить её куда вам нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 11:48 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavel, 1.939 :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:18 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
А! Дык у меня два монитора! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:18 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
А ещё от разрешения тоже зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:20 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
Пару раз запустил - стало 1.67. Короче, фиг его знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:22 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
Вот ещё интересная тема. Автор расковырял и немного оптимизировал Robot-а. http://www.rune-server.org/programming/application-development/387765-directrobot-fast-java-robot-allows-screen-recording.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:23 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА какая задача стоит? Может взять нативную либу и стримить её куда вам нужно? Нужно получать скриншот, сравнивать его с пердыдущим(JNI конечно) и обратно в java передавать изменившиеся участки и отправлять их в сеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:43 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavelBlazkowiczА какая задача стоит? Может взять нативную либу и стримить её куда вам нужно? Нужно получать скриншот, сравнивать его с пердыдущим(JNI конечно) и обратно в java передавать изменившиеся участки и отправлять их в сеть.странное название темы. Из этих 4-х операций, самое медленное скриншот что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:46 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavelНужно получать скриншот, сравнивать его с пердыдущим(JNI конечно) и обратно в java передавать изменившиеся участки и отправлять их в сеть. Зачем JNI? Там что-то сложное? У Java через VolatileImage+Graphics2D базовые операции достаточно быстрые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:49 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
Petro123GorloPavelпропущено... Нужно получать скриншот, сравнивать его с пердыдущим(JNI конечно) и обратно в java передавать изменившиеся участки и отправлять их в сеть.странное название темы. Из этих 4-х операций, самое медленное скриншот что-ли? Судя по всему - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:54 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGorloPavelНужно получать скриншот, сравнивать его с пердыдущим(JNI конечно) и обратно в java передавать изменившиеся участки и отправлять их в сеть. Зачем JNI? Там что-то сложное? У Java через VolatileImage+Graphics2D базовые операции достаточно быстрые. Нужно выделять различающиеся части изображения в прямоугольные области и эти самые области отправлять по сети. В С++ я сравниваю построчно. Получается очень быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:56 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavelСудя по всему - да. Снимайте изображения в одном потоке и складывайте в очередь. Через ExecutorService разгребайте очередь в нужное число потоков. Нужно только рост очереди предотвратить. ARGB битмапы дохрена занимают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:57 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavelPetro123пропущено... странное название темы. Из этих 4-х операций, самое медленное скриншот что-ли? Судя по всему - да. -1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 12:59 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGorloPavelСудя по всему - да. Снимайте изображения в одном потоке и складывайте в очередь. Через ExecutorService разгребайте очередь в нужное число потоков. Нужно только рост очереди предотвратить. ARGB битмапы дохрена занимают. Не понял. Как мне это поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 13:04 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
Petro123GorloPavelпропущено... Судя по всему - да. -1 На C# снятие одного скриншота, анализ с предыдущим и отправка разницы(включая шифрование в протоколе) уходит 25-40мс! Чуть меньше та же операция на Qt(C++). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 13:06 |
|
||
|
Быстрое получение скриншота экрана
|
|||
|---|---|---|---|
|
#18+
GorloPavelНе понял. Как мне это поможет? Мы выше выяснили что у вас реально робот делает 17 кадров в секунду. Причем после разогрева возможно будет больше. Вы заявляли про 8-10 кадров в секунду. Что позволяет предположить что 50% времени у вас занимает остальная обработка, которая стопорит захват экрана. Соответсвенно стоит распараллелить захват и обработку, чтобы эффективнее использовать ресурсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 13:07 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38549987&tid=2127693]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
193ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 564ms |

| 0 / 0 |
