Как считаете, можно ли добиться более менее вменяемой скорости обновления (хотябы 20 кадров в секунду),
если реализовать следующий алгоритм:
— делается снимок экрана (отсылается по сети) и сохраняется.
— делается следующий снимок экрана.
— поблоково сравниваются пиксельные данные (блок какого размера выбрать? )
— изменившиеся блоки сжимаются например zlib и отсылаются по сети
— на другом конце обратная процедура выполняется и восстанавливается изображение.
П.С. Mirror driver юзать не хочеться из-за проблем с Aero.
Здравствуйте, Аноним, Вы писали:
А>Как считаете, можно ли добиться более менее вменяемой скорости обновления (хотябы 20 кадров в секунду), А>если реализовать следующий алгоритм: А>- делается снимок экрана (отсылается по сети) и сохраняется. А>- делается следующий снимок экрана. А>- поблоково сравниваются пиксельные данные (блок какого размера выбрать? ) А>- изменившиеся блоки сжимаются например zlib и отсылаются по сети А>- на другом конце обратная процедура выполняется и восстанавливается изображение.
А>П.С. Mirror driver юзать не хочеться из-за проблем с Aero.
просто возьми спец видео кодек для этого дела.
Sic luceat lux!
Re[2]: Удаленный рабочий стол
От:
Аноним
Дата:
03.05.11 14:49
Оценка:
Здравствуйте, Kernan, Вы писали:
K>Здравствуйте, Аноним, Вы писали:
А>>Как считаете, можно ли добиться более менее вменяемой скорости обновления (хотябы 20 кадров в секунду), А>>если реализовать следующий алгоритм: А>>- делается снимок экрана (отсылается по сети) и сохраняется. А>>- делается следующий снимок экрана. А>>- поблоково сравниваются пиксельные данные (блок какого размера выбрать? ) А>>- изменившиеся блоки сжимаются например zlib и отсылаются по сети А>>- на другом конце обратная процедура выполняется и восстанавливается изображение.
А>>П.С. Mirror driver юзать не хочеться из-за проблем с Aero. K>просто возьми спец видео кодек для этого дела.
задача в том, что самому небольшой рабочий велосипед написать.
Можно, при следующих условиях:
1) Канал передачи надёжный, без потерь, дублирования и перестановки пакетов данных.
2) На принимающей стороне не потеряют ни одного экрана. Иначе не с чем будет сравнивать.
Но перед началом работы я бы убедился, что именно пропуская способность сети — узкое место. Например, экран 1910х1080 сжимается примерно в 350 кб PNG файл. Чтобы обеспечить скорость обновления 20 Гц нужна ширина канала 60 Мбит/сек. Для локальной сети — это копейки.
Здравствуйте, andrey_nado, Вы писали:
_>Но перед началом работы я бы убедился, что именно пропуская способность сети — узкое место. Например, экран 1910х1080 сжимается примерно в 350 кб PNG файл. Чтобы обеспечить скорость обновления 20 Гц нужна ширина канала 60 Мбит/сек. Для локальной сети — это копейки.
для сжатия 120 мб/с алгоритмом deflate потребуется 4-ядерный проц
Как много веселых ребят, и все делают велосипед...
Re[2]: Удаленный рабочий стол
От:
Аноним
Дата:
07.05.11 11:50
Оценка:
Здравствуйте, okman, Вы писали:
O>Здравствуйте, Аноним, Вы писали:
А>>П.С. Mirror driver юзать не хочеться из-за проблем с Aero.
O>А что за проблемы ? Можно подробнее ?
Здравствуйте, Аноним, Вы писали:
А>Как считаете, можно ли добиться более менее вменяемой скорости обновления (хотябы 20 кадров в секунду),
Зависит от разрешения экрана и пропускной способности сети, вообще-то. 1280 на 1024 по гигабитному Ethernet можно и вообще не сжимать. Особенно если скриншот в 24 бита снимать, а не в 32 — альфа тут не нужна.
А>если реализовать следующий алгоритм: А>- делается снимок экрана (отсылается по сети) и сохраняется. А>- делается следующий снимок экрана.
Дальше XOR с предыдущим. Если отличий мало — получатся в основном нули. Обычно отлично сжимается вариациями на тему RLE.
А>- на другом конце обратная процедура выполняется и восстанавливается изображение.