Апплет Java VNC против захвата экрана - PullRequest
5 голосов
/ 12 марта 2009

Я пытаюсь создать приложение, в котором один компонент захватывает экран пользователя (для кастинга экрана). Я знаю, что есть два варианта добиться того же с помощью Java-апплета (пожалуйста, исправьте меня, если я ошибаюсь). Во-первых, использовать java-апплет, чтобы делать снимки экрана непрерывно, конвертировать их в видео и загружать как видеофайл. И второе - создать java vnc-сервер, записать его в виде файла .fbs и воспроизвести на проигрывателе, например: http://www.wizhelp.com/flashlight-vnc/index.html

Мне бы хотелось узнать лучшее решение с точки зрения качества видео, размера файлов, кросс-платформенной совместимости (Windows и Mac), проблем с брандмауэром и, наконец, простоты реализации.

Я очень новичок в Java. Пожалуйста, скажите мне, что является лучшим решением для моей проблемы. Кроме того, достаточно ли легко для меня программировать это самостоятельно или я должен разработать его через фрилансера. У меня есть опыт программирования (5+ лет в LAMP), но нет опыта в Java.

Большое спасибо.

Ответы [ 4 ]

3 голосов
/ 20 марта 2009

Я согласен, что это довольно сложно. Я реализовал эти два решения (VNC и встроенный захват экрана) плюс третье (захват из внешнего источника VGA через Epiphan граббер) для бывшего работодателя. У меня было лучшее соотношение пропускной способности и качества с VNC, но я получил более высокую частоту кадров с захватом VGA. Во всех трех случаях я сократил время съемки + кадры до PNG и упорядочил их в справочном фильме QuickTime. Затем я сделал сглаженное видео (MPEG4 или SWF) результатов. В моем случае я затем синхронизировал видео на экране с потоком DV.

В конце концов, технология сработала (см. образец результатов), но наша бизнес-модель потерпела неудачу.

2 голосов
/ 20 марта 2009

Из того, что я знаю, более старые версии апплета имели ограничения безопасности, которые могут не допускать захват экрана. Вместо этого может быть выполнимо Java-приложение. Относительно сборки сам по себе против fire-a-coder, это зависит от того, как вы цените свое время по сравнению с тем, что вы можете найти на сайте фрилансера. Я думаю, что вы можете найти кого-то из Индии / Румынии / Польши / других стран, которые могут сделать это по доступной цене

1 голос
/ 21 марта 2009

Учитывая ваши знания Java и сложность задачи, вы рассматривали альтернативный подход? Например, как насчет собственного VNC-сервера для конечного пользователя, который просто загружается, и затем они нажимают «Выполнить». И этот собственный сервер запрограммирован для захвата экрана и отправки его прямо на ваш веб-сервер, у которого есть клиент, такой как vnc2swf или другие средства для преобразования потока VNC в видео или файл .fbs? Имеет ли все это смысл?

Конечно, без Java вам нужно подготовить одну исполняемую программу для каждой платформы, которую вы хотите поддерживать, однако я не знаю. Это все еще звучит проще для меня. Рассмотрим Copilot.com. Они делают VNC, но все еще используют небольшие собственные приложения для каждой платформы.

0 голосов
/ 18 марта 2009

Извините, но эта работа требует большого опыта. Даже если вы найдете фрагменты кода по всей сети, чтобы исправить это, общий результат может оказаться намного хуже, чем просто нанять опытного программиста на Java.

...