Меня недавно попросили оценить возможности прямой трансляции экрана через апплет.Большинство API видео не поддерживают кодеки с достаточно высокой степенью сжатия (например, JMF).Некоторые API могут делать расширенные форматы (JFFMPEG, Xuggle), но также могут использовать нативные.В то время как у приложения обычно нет проблем для приложения.запущенный (свободно плавающий) с использованием Java Web Start или апплета Plug-In 2, создатели Xuggle определяют «порядок загрузки нативов» как проблему (например, не будет работать) как для JWS, так и для апплетов.
Жаль, что после более чем десятилетия разработки Java не имеет разумного API для захвата / обработки видео, который можно было бы развернуть для широкого использования (на основе апплетов / JWS - для «широкой публики»).) GUI.
Возможно, вы сможете найти решение с помощью Flash.
Обновление 1
На самом деле мне не нужно, чтобы экран записывался как видео.
Фактически, вы упомянули многое из этого в своем первоначальном вопросе, но я сосредоточился на нескольких ключевых словах, прежде чем составлять ответ.Виноват.: P
ОК.
- Получение изображения относительно просто.Апплету нужно доверять, чтобы получить снимок экрана, но если доверять, то для получения изображения достаточно нескольких строк кода.
- Кодирование изображения в JPEG с определенным качеством / настройкой сжатия (впамяти) также возможно.
- Отправка изображения на сервер будет зависеть от размера в байтах и скорости соединения, но одно изображение с высокой степенью сжатия каждые 10 секунд должно быть выполнимым.Сервер должен был бы реализовать функциональность для приема изображения.
Что касается отображения изображения на клиенте, кажется, у вас уже есть некоторые идеи, основанные на JS.Если вы можете сделать эту работу оптимальной, так как ее можно просматривать в браузерах без Java.
Я бы все же рекомендовал бы вам развернуть приложение.в «динамик», используя Java Web Start , а не вставлять апплет.Приложение JWS.даст вам меньше проблем с развертыванием и обслуживанием, а запуск JWS будет .. приятнее. Более того, свободный плавающий кадр, запущенный с использованием JWS, может минимизировать себя (или в более поздних JRE стать прозрачным) во время действияполучение изображения экрана - таким образом захватывая все на экране, кроме самого себя.
Обновление 2
Я действительно нашел этот код здесь.
Это ... ужасно.Не код, сайт.Когда я посетил его, я получил сообщение о том, что всплывающее окно было подавлено (достаточно справедливо).Затем был раздражающий «вибрирующий диалог», зависший в середине страницы (и следовавший за свитком).Вы нажимаете маленький x
, чтобы увидеть - открылась еще одна вкладка с еще одним всплывающим диалоговым окном, в котором говорится о какой-то другой чепухе о том, как "Вы выиграли ..." - с достаточно громким звуком, чтобы заглушить мой большой объем транс-плейлистов / танцевальных списков.
Затем, после того, как, черт возьми, из моего FF, я возвращаюсь на исходную страницу, закрываю проклятый «диалог», прокручиваю вниз и вижу… красный фон для кода (вздрагивает).Это насколько я мог управлять.Я закрыл страницу с кодом.
Попробуйте этот код вместо одного снимка экрана.
Можно ли использовать это нана стороне клиента ..
Да.
.. и получить его с помощью javascript на стороне сервера?
Не совсем.Если вы не имеете в виду сервер на основе IIS, работающий под управлением JScript от Microsoft.JavaScript - это технология на стороне клиента.
По соображениям безопасности серверы должны защищать себя.EG From:
- Кто-то создает ведомого робота, который загружает все 1000 документов на ведомой машине на сайт - чтобы он вышел из строя.и сервировки скотоложство порно (или хуже).