Testowanie i problemy

Chyba najważniejszą umiejętnością streamera jest samodzielne testowanie swojego streama. Zwiększenie przepustowości łącza (np zwiększenie wartości uploadu po zmianie umowy z dostawcą), zalecanych ustawień serwisu streamerskiego (np dopuszczenie przez serwis Twitch wyższego bitrate), zmiana paramterów naszego komputera (np zmiana procesora na lepszy) powodują, że raz ustalone opcję będziemy chcieli zmodyfikować, aby uzyskać najwyższą jakośc obrazu. Jednocześnie standardowe ustawienia programów prezentowane przezemnie lub znalezione przez was w internecie mogą nie współgrać z waszym komputerem przez co pojawiają się dropy i inne problemy znane większości z nas. Dodatkowo dobrze działający stream jednego dnia może zupełnie nie działać w dniu następnym. Każdy streamer powinien wiedzieć jak sprawdzić co jest grane:)

Po pierwsze!

Nagraj to co streamujesz i zobacz jak wygląda! Każdy znany mi program do streamowania posiada opcję nagrywania. Poniżej widzimy ustawienie Open Video Broadcaster’a, opcja “Ścieżka pliku” pozwala nam ustalić gdzie plik ma być zapisany.

Open Video Broadcaster

Nagrywanie uruchamiamy przyciskiem “Rozpocznij nagrywanie”:

Nagrywanie

Należy zapamiętać i wbić sobie do głowy, nasz stream nigdy nie będzie lepszy niż to co właśnie nam się zapisało na dysku. Chcesz sprawdzić głośność mikrofonu względem gry? Nagraj 10 sekund i odsłuchaj. Chcesz sprawdzić czy obraz jest płynny? Nagraj 10s i zobacz na własne oczy co wysyłasz na serwer… Na początku napisałem, że stream nie będzie lepszy, z uwagi na sposób działania serwerów i często ponowne “przerabianie” naszego filmu zanim trafi on na ekrany widzów sprawa może się skomplikować. Dobranie niewłaściwych dla danego serwisu parametrów (np za dużej ilości klatek lub zbyt wysokiego bitrate) może spowodować, że to co zobaczą widzowie wcale nie będzie już takie piękne. W przypadku serwisu Twitch.tv zastosowanie rozdzielczości 480 do 1080p, 30-60 fps, max 3500kb/s bitrate oraz CBR powinno zagwarantować nam, że to co zapisujemy na dysku jest tym co zobaczą nasi widzowie w jakości High/Source.

Po drugie!

Kolejną kwestią jest obciążenie naszego komputera, a praktycznie procesora. Należy w taki sposób dobrać ustawienia programu do streamowania, aby nasz procesor w trakcie gry nie był obciążony bardziej niż w 90%. Sprawdzić to możemy za pomocą Menadżera zadań Windows (uruchamiamy klikając alt+ctr+del) i zakładki “Wydajność”:

Wydajność

Na screenie zaznaczyłem dwa momenty: (1) obciążenie procesora w przypadku braku ruchu na ekranie (procesor nie jest obciążony ponieważ “nie ma czego enkodować”), (2) obciązenie procesora w momencie pojawienia się dynamicznego ruchu na scenie (duża ilość zmiennych danych do enkodowania). Na obciążenie procesora wpływają najbardziej: ilość klatek (dwa razy więcej klatek to dwa razy więcej danych do enkodowania), preset x264 (zmiana presetu powoduje znaczną zmianę obciązenia procesora i jakości wysyłanego obrazu), rozdzielczość sceny (zmiana rozdzielczości z 1280×720 na 1920×1080 obciąża procesor dwukrotnie bardziej!!!) oraz uruchomione dodatkowe programy (np aplikacja StreamPoll do głosowania w trakcie streamu potrafi “zjeść” 10-20% wydajności procesora…). Z powyższych zależności każdy streamer musi zdawać sobie sprawę i w taki sposób manipulować ustawieniami programu, aby uzyskać jak najlepszą jakość streamu.

 Problem: Dropy

Dropy(zgubione klatki) – utrata klatek na drodze komputer- serwer

Jak stwierdzić: większość programów podaje ilość utraconych klatek w widocznym miejscu:

test1

Dropy występują w momencie kiedy nie jesteśmy w stanie wysłać do serwera wszystkich klatek, które powinny zostać wysłane w danym czasie. Utrata kilku klatek nie stanowi problemu (w ciagu minuty wysyłamy ich zazwyczaj 1800) jednak utrata kilku % jest już znacząca i powoduje “ścinki” u oglądających.

Pierwszą rzeczą, którą należy sprawdzić to stan naszego internetu.

1. Sprawdzamy ping do serwerów krajowych koszystając z opcji START> Uruchom (Windows 7 i niższe)  i wpisując “ping -t www.wp.pl”, w Windows 8 komendę tę wpisuje się w “wierszu poleceń” (klawisz WIN+R a następnie wpisujemy “cmd” i klikamy “Enter). Komenda wysyła ping do serwera Wirtualnej Polski (można wpisać inny, niektóre standardowo nie odpowiadają na ping…). Komenda wyświetli nam czas odpowiedzi serwera w milisekundach. Prawidłowy ping powinien być po pierwsze stabilny i mieć jak najmniejszą wartość (<100ms wydaje się prawidłowe) jak na załączonym obrazku:

ping

Jeśli ping jest wysoki (więcej niż 200ms) to może być to przyczyną problemów z połączeniem do zagranicznych serwerów. Jeszcze większym problemem może okazać się wysoki jitter (różnica między wartościami pingu) czyli zmiana w czasie połączenie do serwera. Największy problem to dropy (tym razem ping;) ) czyli losowy brak odpowiedzi serwera. W przypadku gdy serwer www.wp.pl nie odpowiada najprawdopodobniej nie mamy w ogóle dostępu do internetu 🙂 (lub strona www.wp.pl padła co jest mało prawdopodobne).

W przypadku problemów z pingiem należy rozważyć kilka możliwości:

– problemy z naszym komputerem (robaki internetowe, pobieranie pornoli w tle itd. – należy wyłączyć wszelkie programy obciążające łącze, a zainfekowany komputer oczyścić anrywirusem)

– problemy z innym komputerem w mieszkaniu (j/w)

– problemy z routerem (takie urządzonko do którego podłączony jest kabel internetowy – należy go co najmniej zrestartować odłączając go na 10sec z prądu i włączając ponowsnie / jeśli jest tani a podłączono do niego 10 komputerów to należy kupić lepszy / itd. itp.)

– problemy z łączem internetowym u dostawcy (to, że działa Facebook nie znaczy, że łącze działa poprawnie. Należy zadzwonić do dostawcy internetu i zapytać czy łącze działa poprawnie poniważ nam nie działa…)

– problemy z łączami internetowymi w świecie (czasem jakiś kuter urwie światłowód pod Atlantykiem i nagle nikomu w europie nie działa normalnie internet;) jeśli innym streamerom działa to nie jest to ten przypadek)

2. Sprawdzamy przepustowość naszego łącza internetowego przy pomocy darmowej aplikacji internetowej Speedtest. Dla mojego łącza 60 download 15 upload wynik wynosi:

Speedtest

Oznacza to, że łącze działa sprawnie. Jeśli nasza wartość upload wynosi mniej niż ustawienia programu do streamowania (np 2Mb/s upload, a w programie ustawione 3500Kb/s) to wiemy już skąd wzięły się dropy.

 3. Sprawdzamy różne serwery naszego serwisu do streamowania. W przypadku Twitch.tv możemy przez miesiąc streamować np “na Frankfurt” i nagle okaże się, że każda próba streamowania na ten serwer kończy się dropami. Należy sprawdzić czy próba stremowania na inne bliskie nam serwery (Londyn, Praga, Amsterdam) kończy się dropami.

 Problem: “Ścinki”, “Konwersja klatek trwa zbyt długo”

Ścinki – utrata klatek w trakcie enkodowania obrazu przez program do streamowania.

Ścinki podobne są do dropów i przez początkujących stremerów często z nimi mylone. Różnica między ścinkami, a dropami polega na miejscu powstawania utraty klatek. W przypadku ścinek wysyłany do serwera obraz jest już pozbawiony odpowiedniej ilości klatek i na jego jakość nie ma wpływu jakość połączenia internetowego. W programie Open Video Broadcaster jesteśmy o ścinkach informowani napisem na dolnej belce:

Ścinki

W takim przypadku na pewno mamy nie właściwe ustawienia naszego programu do streamowania. Należy zweryfikować ustawiony preset x264, ilość klatek i rozdzielczość i dostosować je do możliwości naszego komputera.