Судовой журнал
  Остров Ява (Java)
  Отображение видео в ...

Боцманы:  Coder

Форум клана открыт для общественности

 Страница   из 1    |  Показывать   на странице
Старые сначала  Тема: Отображение видео в Java(Swing)
Depresnjak
Бывший океанец

Исходная ситуация такова:
Имеются 4 сетевых Видеокамеры, их видео должно быть отображено в Java-программе - все 4 одновременно, в одном окне.
Камеры поставляют Stream с JPEGs картинками - Motion JPEG.
Я поочерёдно беру картинки и каждый раз вызываю:
drawImage(image,..) - получается Видео с 12-16 fps.
Это я делаю (как и все графические операции v Swinge) в AWT-Thread с помощью EventQueue.invokeLater(..).
Проблема в том, что если все четыре видео идут одновременно - программа (по понятным причинам) временами перестаёт реагировать на действия пользователя.
Может ли кто-нибудь посоветовать другой вариант/библиотеки/frameworks
которые решают эту проблему лучше?
(Java Media Framework поддерживает Motion JPEG только в спецификации - реальных примеров я найти не смог..)
09 Декабря 2007 17:06      
bigpuritz
Туземец




11 Декабря 2007 13:19      
Depresnjak
Бывший океанец

bigpuritz пишет:
поможет?

http://forum.java.sun.com/thread.jspa?messageID=4007145&tstart=0

Спасибо за ответ, но проблему это не решает: он свою (одну) картинку с помощью EventQueue.invokeLater(updater); перересовывает, а я 4, поэтому его Awt-Thread(у) проще живётся
13 Декабря 2007 21:23      
bigpuritz
Туземец




а 4 параллельных потока стартануть и балансировать между ними никак?
14 Декабря 2007 11:15      
Depresnjak
Бывший океанец

bigpuritz пишет:
а 4 параллельных потока стартануть и балансировать между ними никак?

Дык все графические операции в Swing (в данном случае перересовывание картинки) должны происходить в AWT Thread. Это во всех Ява-книгах чёрным по белому написано, т.к. Swing не Thread-save.
Может случится, что ты в своём Threade рисуешь, а пользователь в этот момент окно увеличивает (в AWT Thread), что может привести к неприятным эффектам..
Может знаешь как их избежать можно?
На что нужно обращатъ внимание если хочешь рисовать в Swinge не в AWT-Threade?
14 Декабря 2007 16:21      
bigpuritz
Туземец




Depresnjak пишет:
Дык все графические операции в Swing (в данном случае перересовывание картинки) должны происходить в AWT Thread. Это во всех Ява-книгах чёрным по белому написано, т.к. Swing не Thread-save.
Может случится, что ты в своём Threade рисуешь, а пользователь в этот момент окно увеличивает (в AWT Thread), что может привести к неприятным эффектам..
Может знаешь как их избежать можно?
На что нужно обращатъ внимание если хочешь рисовать в Swinge не в AWT-Threade?


нее, не скажу... я граф. оболочки программировал последний раз года 4 назад и на уровне прототипов..

надо копать в сети, форумах, блогах.. думаю ты не первый с такой проблемой..
15 Декабря 2007 15:49      
 Страница   из 1    |  Показывать   на странице
Перейти в
© Stanislav Neuberger 2001-∞ · Служба поддержки