Лучшее сжатие изображений для C # - PullRequest
1 голос
/ 22 января 2012

В настоящее время я работаю над некоторым программным обеспечением, которое захватывает изображение вашего монитора и отправляет его клиентам через Интернет.Пока что он работает в моей локальной сети, но когда я проверяю его через Интернет, вряд ли какое-либо из изображений доходит до клиента.

Я использую Лидгрен для своей сети.В данный момент я получаю растровое изображение с экрана, конвертирую его в JPEG с качеством 30, архивирую его и отправляю в путь.Каждое изображение имеет размер около 80 КБ, и я пытаюсь отправить клиенту 10 изображений в секунду.Теперь это похоже на 7-битное соединение для загрузки, мин - только 2 Мбит.

Так что, в принципе, любой знает о библиотеках или методах сжатия, которые значительно уменьшат размер файла каждого изображения.Это может быть совершенно невозможно, но я подумал, что я попробую.

Любая помощь очень ценится, спасибо!

1 Ответ

4 голосов
/ 22 января 2012

Вам действительно нужно каждый раз отправлять весь кадр? Не могли бы вы просто отправить то, что изменилось между текущим и предыдущим кадром, а затем применить эти изменения к клиентскому кадру, чтобы обновить его? Это должно быть довольно быстро, если сервер не смотрит видео или что-то подобное. Этот ответ указывает на то, что RDP (Microsoft) и VNC используют это для просмотра на удаленном рабочем столе.

См. https://stackoverflow.com/a/4098515/171703 и https://stackoverflow.com/a/1876848/171703 для некоторых идей о том, как это сделать.

...