VNC не можна порівняти з потоковою передачею відео. У потоковому потоці відео типово передаєш попередньо стиснений відеопотік через мережу. Для потоків HD це часто кодується H.264. Якщо ви використовуєте VNC, то ваш хост-комп'ютер повинен робити знімки екрана та стискати їх, перш ніж надсилати їх у мережу. Тут є кілька обмежень:
- Сильне стиснення потребує великої потужності процесора. Наприклад, кодування 90-хвилинного фільму в H.264 високої якості часто займає більше 4 годин часу на стиснення на моєму сервері Athlon X2 4450e. Зазвичай таке сильне стиснення не підходить для програм у режимі реального часу, таких як дистанційне управління.
- Менш сильне стиснення, в свою чергу, вимагатиме більшої пропускної здатності мережі, що може стати проблемою для низькосмугових з'єднань, таких як Інтернет.
Що ж, є кілька "трюків", які застосовуються за допомогою відеокодеків та пульт дистанційного керування та утиліти спільного використання екрана. Перш за все вони намагаються виявити зміни на екрані та передати (стиснене) зображення лише змін. Зазвичай це економить багато пропускної здатності та потужності обробки. Однак для повноекранного перенесення відео це не дуже допомагає, оскільки весь екран доводиться повторно переносити. Як написано вище, поточні машини, ймовірно, не зможуть в режимі часу кодувати ваш екранний вміст у форматі Full-HD та передавати його на додаток дистанційного керування, оскільки ваш хост повинен буде декодувати відеовміст та повторно кодувати необроблені зображення перед відправкою їх до мережі. Деякі старі двоядерні машини навіть перебувають на межі, коли декодують відеоконтент Full-HD.
Щоб покращити швидкість дистанційного керування VNC, ви можете зробити наступне:
- Більшість серверів / клієнтів VNC підтримують декілька алгоритмів стиснення. Деякі з них оптимізовані для невеликої пропускної здатності, деякі для хорошої якості зображення, а деякі для низької затримки. Це стосується іншого аспекту дистанційного керування. Оскільки сервіс має інтерактивну затримку (ви не хочете бачити реакцію на клацання миші відразу через 5 хвилин кодування).
- Спробуйте зменшити кількість змін на екрані вашого хост-машини. Наприклад, спробуйте відключити ефекти робочого столу Windows, анімацію тощо. Це економить пропускну здатність, оскільки лише змінені частини екрану передаються по мережі.
- Спробуйте відключити подальші візуальні ефекти на хості, як-от прозорість. Прозорі Windows, використовувані Vista / Win7, знижують "стисливість" зображень. Одноколірні / «плоскі» ділянки набагато ефективніше стискати, ніж яскраві кольори та вишукані деталі. Тож відключення прозорості Aero та ефекти на робочому столі дійсно прискорюють досвід дистанційного керування. Більшість інструментів віддаленого керування навіть дозволяють автоматично відключати такі ефекти під час підключення (наприклад, Microsoft RDP та деякі реалізації VNC).
- Те саме стосується фонових зображень. Спробуйте використовувати однотонне налаштування фону замість HD-зображень.
Інша проблема VNC полягає в тому, що він повинен виявляти зміни на екрані. Деякі реалізації VNC роблять «німі» скріншоти та порівнюють їх із попереднім скріншотом, щоб виявити зміни. Це вже забирає багато сил. Деякі більш досконалі реалізації реалізують спеціальні драйвери дисплея (перевірте UltraVNC), які є більш ефективними тут, але вимагають встановлення спеціальних драйверів.
Звичайно, все це не допомагає, якщо ви відтворюєте відео на своєму хост-апараті. У цьому випадку VNC доведеться перекодувати ~ 30 повноекранних зображень за секунду та надіслати їх через мережу. У більшості компресій, які можуть виконуватись у режимі реального часу сучасними процесорами, такий потік потребує> 8 Мбіт / с пропускної здатності. Тому він не підходить для більшості підключень до Інтернету (особливо подумайте про асиметричні DSL-з'єднання із типовою швидкістю завантаження менше 1 Мбіт / с, і так, швидкість завантаження має значення на стороні хоста).
Можливо, це підходить для використання локальної мережі, але тут ви, мабуть, повинні більше подумати про налаштування медіа-сервера або обмін вашими носіями за допомогою медіа-сервера DLNA / UPnP (це може зробити навіть медіаплеєр Win7). Потім використовуйте клієнт DLNA для відтворення спільного носія.