VNC nie jest porównywalny z przesyłaniem strumieniowym wideo. Podczas przesyłania strumieniowego wideo zazwyczaj przesyłany jest wstępnie skompresowany strumień wideo przez sieć. W przypadku strumieni HD jest często kodowany w formacie H.264. Jeśli używasz VNC, komputer hosta musi wykonać migawki ekranu i skompresować je przed wysłaniem ich do sieci. Jest tu kilka ograniczeń:
- Silna kompresja wymaga dużej mocy procesora. Na przykład kodowanie 90-minutowego filmu w formacie H.264 w wysokiej jakości często zajmuje ponad 4 godziny czasu kompresji na moim serwerze Athlon X2 4450e. Zazwyczaj taka silna kompresja jest nieodpowiednia dla aplikacji w czasie rzeczywistym, takich jak zdalne sterowanie.
- Mniej mocna kompresja z kolei będzie wymagać większej przepustowości sieci, co może stać się problemem w połączeniach o niskiej przepustowości, takich jak Internet.
Cóż, istnieje kilka „sztuczek”, które są stosowane przez kodeki wideo oraz narzędzia do zdalnego sterowania i współdzielenia ekranu. Przede wszystkim próbują wykryć zmiany na ekranie i przenieść tylko (skompresowany) obraz zmian. Zwykle oszczędza to DUŻO przepustowości i mocy obliczeniowej. Jednak w przypadku przesyłania pełnoekranowego wideo niewiele to pomaga, ponieważ cały ekran musi być zbyt często przesyłany ponownie. Jak napisano powyżej, obecne urządzenia prawdopodobnie nie będą w stanie ponownie zakodować w czasie zawartości ekranu w jakości Full-HD i przesyłać strumieniowo do aplikacji do zdalnego sterowania, ponieważ host będzie musiał dekodować zawartość wideo, a następnie ponownie zakodować nieprzetworzone obrazy przed wysłaniem je do sieci. Niektóre starsze urządzenia dwurdzeniowe są nawet na granicy możliwości dekodowania treści wideo Full-HD.
Aby poprawić szybkość zdalnego sterowania VNC, możesz wykonać następujące czynności:
- Większość serwerów / klientów VNC obsługuje wiele algorytmów kompresji. Niektóre z nich są zoptymalizowane pod kątem małej przepustowości, niektóre w celu uzyskania dobrej jakości obrazu, a inne w celu uzyskania niskich opóźnień. Dotyczy to innego aspektu zdalnego sterowania. Ponieważ usługa jest interaktywna, ma znaczenie opóźnienie interaktywne (nie chcesz widzieć reakcji na kliknięcie myszą tuż po 5 minutach kodowania).
- Spróbuj zmniejszyć liczbę zmian ekranu na komputerze-hoście. Na przykład spróbuj wyłączyć efekty pulpitu systemu Windows, animacje itp. Oszczędza to pasmo przenoszenia, ponieważ tylko zmienione części ekranu są przesyłane przez sieć.
- Spróbuj wyłączyć dalsze efekty wizualne na hoście, takie jak przezroczystość. Przezroczysty system Windows stosowany w systemie Vista / Win7 zmniejsza „ściśliwość” obrazów. Jednokolorowe / „płaskie” obszary są znacznie bardziej wydajne w kompresji niż żywe kolory i fantazyjne detale. Tak więc wyłączenie przezroczystości Aero i efektów pulpitu naprawdę przyspiesza obsługę pilota. Większość narzędzi do zdalnego sterowania pozwala nawet automatycznie wyłączyć takie efekty podczas łączenia (np. Microsoft RDP i niektóre implementacje VNC).
- To samo dotyczy zdjęć w tle. Spróbuj użyć ustawienia tła w jednolitym kolorze zamiast obrazów HD.
Innym problemem dla VNC jest to, że musi wykrywać zmiany na ekranie. Niektóre implementacje VNC wykonują „głupie” zrzuty ekranu i porównują je z poprzednim zrzutem ekranu w celu wykrycia zmian. To już wymaga dużej mocy. Niektóre bardziej zaawansowane implementacje działają ze specjalnymi sterownikami wyświetlania (sprawdź UltraVNC), które są tutaj bardziej wydajne, ale wymagają zainstalowania specjalnych sterowników.
Oczywiście wszystko to nie pomaga, jeśli odtwarzasz wideo na swoim komputerze. W takim przypadku VNC będzie musiał ponownie zakodować ~ 30 pełnoekranowych obrazów na sekundę i wysłać je przez sieć. W przypadku większości kompresji, które mogą być wykonywane w czasie rzeczywistym przez dzisiejsze procesory, strumień taki zająłby przepustowość> 8 Mb / s. Dlatego nie nadaje się do większości połączeń internetowych (szczególnie pomyśl o asymetrycznych połączeniach DSL z prędkością przesyłania zwykle mniejszą niż 1 Mb / s, i tak, to szybkość przesyłania ma znaczenie po stronie hosta).
Może być odpowiedni do użycia w sieci LAN, ale tutaj powinieneś prawdopodobnie więcej pomyśleć o skonfigurowaniu serwera multimediów lub udostępnić swoje media za pomocą serwera multimediów DLNA / UPnP (nawet odtwarzacz multimediów Win7 może to zrobić). Następnie użyj klienta DLNA, aby odtworzyć udostępnione multimedia.