Во-первых, я мог бы предложить захватить только небольшую часть экрана, а не уменьшать масштаб и потенциально потерять информацию, возможно, с чем-то вроде скользящего окна, которое можно перемещать, нажимая края курсором. Это на самом деле просто небольшое дизайнерское предложение.
Что касается сжатия, я думаю, что серия изображений не будет сжиматься отдельно, а также с приличной схемой сжатия видео, тем более что кадры, вероятно, останутся согласованными между захватами в этом сценарии.
Одним из вариантов может быть использование Xuggle, который способен захватывать рабочий стол через Robot в нескольких форматах видео, но я не могу сказать, можете ли вы передавать и декодировать с этим.
Для захвата JPEG-файлов и их конвертации вы также можете использовать this .
Потоковое видео, похоже, немного сложнее.
Кроме того, похоже, что заброшенная Java Media Framework поддерживает эту функцию.
Мои знания в этой области не фантастические, поэтому извините, если я потратил впустую ваше время, но похоже, что была скомпилирована некоторая более полезная информация о возможности использования Xuggle в качестве скриншара здесь . По-видимому, это также связано с их собственными заметками о существующих подходах.
Если это не обязательно должна быть чистая Java, я считаю, что все было бы намного проще использовать, просто взаимодействуя с собственным инструментом захвата экрана ...
Может быть, было бы проще всего просто отправить видео в виде серии jpegs! Вы всегда можете реализовать свою собственную схему сжатия, если вы чувствуете себя немного сумасшедшим ...