Stream gier na żywo online za darmo na Twitch.tv

Witam,

W tym post-cie pokażę jak na żywo stream-ować grę (czyli puszczać obraz online z gry w sieć Internet w czasie gdy grasz, a inni na to patrzą w swoich przeglądarkach internetowych) w systemie operacyjnym Windows.

Ten post nie jest ograniczony tylko grami, można go wykorzystać do innych celów, np.: stream pulpitu Windows, stream obrazu z kamery internetowej, itd.

Wystarczy 30 minut. JEST TO WIEDZA SKONDENSOWANA I KOMPLETNA, nie potrzebujesz szukać dalej!
Piszę, że 30 minut, a nie że 10 minut bo jest to zadanie proste, ale wymaga przygotowania!, co więcej stream gry jest obecnie rozwiązaniem najbardziej obciążającym MOC KOMPUTERA z wszystkich możliwych rozwiązań jakie możemy wykonywać w domu na własnych komputerach.
Jako, że sam nie posiadam "potwora" - komputera, tym bardziej mój opis (i film Youtube) jest dopasowany do Ciebie, a jak masz lepszego "potwora", to będzie Tobie jeszcze łatwiej, :)

Mój komp - WASZ punkt odniesienia:
1. Grafika: SLI - 2x NVIDIA GT8800;
2. Procesor: 2,4 GHz, 4 rdzenie;
3. Neostrada: szybkość wysłania danych (UPSTREAM (więcej czytaj tutaj)) - od abonamenta: 512 Mb/s = 64 MB/s.



O teorii stream online przez Internet, warto przeczytać w linku poniżej:
patrz tutaj (język ang.)
 


1. Konto na twitch.tv.

a)
  Konto zakładamy na stronie WWW: twitch.tv;
b)
  Natomiast nasz identyfikator konta pobieramy po zalogowaniu z tej strony WWW: tutaj - jest tam przycisk "Show Key";
  Na tej stronie mamy też informacje o programach które możemy wykorzystać do stream-u na twitch.tv, są trzy:
  - XSplit - darmowy, ale nie możemy w nim stream-ować gier jesteśmy ograniczeni do: kamery internetowej i pulpitu;
  - Wirecast - płatny;
  - Flash Media Encoder - darmowy do zastosowań nawet komercyjnych i umożliwiający stream gier.


2. Stream na twitch.tv - +WIEDZA TEORETYCZNA Z OBRÓBKI WIDEO I AUDIO.

Potrzebne darmowe programy:
- Flash Media Encoder;
- SCFH+DSF - wybieramy Ver.0.4.1 Binary: SCFHDSF041.zip (2009/11/16) lub nowszą jak się ukaże.

Z programów to wszystko.

Instalacja Flash Media Encoder jest bardzo intuicyjna.
Instalacja SCFH+DSF, polega na rozpakowaniu pobranego pliku zip i uruchomieniu pliku: install64.exe lub install.exe, w zależności od posiadanego systemu operacyjnego: Windows-a 64 bitowego lub Windows-a 32 bitowego.

Konfiguracja:

1) SCFH+DSF:
  a) Uruchamiamy: SCFH.exe;
  b) Następnie uruchamiamy: Flash Media Encoder;
  c) Następnie w programie SCFH klikamy: Refresh;
  d) Pojawi się PID (identyfikator procesu programu) programu: Flash Media Encoder - wybieramy go i klikamy ok;
  e) Uruchomi się program SCFH i powinniśmy go skonfigurować jak na zdjęciu poniżej przy czym w AREA, ustawiamy rozdzielczość w jakiej mamy uruchomioną grę - DOKŁADNIE TAKĄ SAMĄ;



  f) W programie SCFH klikamy jeszcze Layout i rozszerzamy okno na cały ekran tego layout-u, w naszym przypadku jest to 800x600;
  g) Więcej o konfiguracji programu SCFH w tym linku: patrz (język ang.);
  h) A teraz dokładna konfiguracja programu Flash Media Encoder z wiedzą teoretyczną z obróbki VIDEO I AUDIO:

    I) Najpierw połączenie konta twitch.tv z programem Flash Media Encoder - w Panel Options (Output) wybieramy:
        -"Stream to Flash Media Server";
        -w "FMS URL", wpisujemy: rtmp://live.justin.tv/app
        -pole "Backup URL" pozostawiamy puste;
        -w "Stream" wpisujemy pobrany identyfikator konta twitch.tv - o którym wspominałem w punkcie: "1) Konto na twitch.tv";
        -Mamy już połączony program z kontem twitch.tv.

    II) Teraz konfiguracja VIDEO:
        -wybieramy "VIDEO";
        -z listy rozwijanej "Device" wybieramy: SCFH DSF - to jest nasz program, który podczas uruchomienia gry, będzie wysłał obraz do Flash Media Encoder. SCFH DSF przełączy nas automatycznie na interfejs Windows bez AERO, jest to koniecznie inaczej zamiast gry będzie się stream-wał pulpit, gdy będziemy w grze;
        -"Format" polecam VP6, gdyż jest to kompresor, który daje większe spektrum wyboru rozdzielczości;
        Na nasze potrzeby przyjmujemy, że kompresor video to program, który zamienia nam obraz z gry do dużo mniejszego rozmiaru niż oryginalny dostarczany z "Device", aby można go wysłać w Internet, nieznacznie pogarszając jakość obrazu;
        -"Frame Rate" określa ile klatek na sekundę chcemy wysłać;
        Wiadomo, że obraz z gry w ciągu sekundy ma pewną ilość klatek, czyli w ciągu sekundy mamy kilkanaście obrazów, dzięki czemu obraz jest płynny;
        Ci który są zdani na upstream, rzędu 512 Mb/s powinni ustawić wartość albo 10, albo 12, natomiast Ci z 1024Mb/s mogą ustawić 24 (przy takich ustawieniach wysyłane klatki nie będą gubione [OUTPUT DROP = 0]), ale tylko przy wydajnych procesorach, aby nie gubić klatek przetwarzanych przez procesor, tzw. klatek wejściowych (INPUT DROP);
        Gubienie klatek INPUT DROP, pogłębia gubienie klatek OUTPUT DROP!
        -"Input Size" - jest to w dużym uproszczeniu rozdzielczość naszej uruchomionej gry, nie mylić z rozdzielczością ekranu - powinna być taka sam jak gra;
        Ci który są zdani na upstream, rzędu 512 Mb/s powinni ustawić wartość 800x600, natomiast Ci z 1024Mb/s mogą spróbować ustawić tzw. HD READY (1280x720) (przy takich ustawieniach wysyłane klatki nie będą gubione [OUTPUT DROP = 0]), ale tylko przy wydajnych procesorach i kartach graficznych, aby nie gubić klatek przetwarzanych przez procesor, tzw. klatek wejściowych (INPUT DROP);
        Gubienie klatek INPUT DROP, pogłębia gubienie klatek OUTPUT DROP!
        -"Maintain Aspcet Ratio" - odznaczamy, lub zaznaczamy gdy mają zachować się proporcje obrazu;
        -"Bit Rate" - cóż to takiego? Ten parametr określa ile Kilo-bitów VIDEO na sekundę będzie wysyłanych z naszego komputera. Dla łączą 512kb/s ustawiamy maksymalnie 500Kbps, dla łącza 1024Mb/s ustawiamy 950Kbps. Dzięki temu nie gubimy klatek OUTPUT DROP;
        Ale pomimo wszystko możemy gubić klatki zarówno INPUT jak i OUTPUT, dlaczego? - a no dlatego, że może się okazać, że ustawiona wartość "Bit Rate" jest niewytaczająca, nie mieści się tam potrzebna ilość danych z "FRAME RATE" i "INPUT SIZE";
        Ci który są zdani na upstream, rzędu 512 Mb/s powinni ustawić wartość 500, natomiast Ci z 1024Mb/s mogą ustawić 950 (przy takich ustawieniach wysyłane klatki nie będą gubione [OUTPUT DROP = 0]), ale tylko przy wydajnych procesorach i kartach graficznych, aby nie gubić klatek przetwarzanych przez procesor, tzw. klatek wejściowych (INPUT DROP);
        Gubienie klatek INPUT DROP, pogłębia gubienie klatek OUTPUT DROP!
        -"OUTPUT SIZE" - co to takiego? Jest to rozmiar okna który zobaczą nasi widzowie na twitch.tv. Powinno zawsze ustawić się rozmiar nie większy niż "Input Size", bo to przez skalowanie pogarsza jakość obrazu oraz powinno się zachować proporcje obrazu 16:10, gdyż okno twitch.tv jest w takich proporcjach i dzięki temu nie będziemy widzieć czarnych pasków;
        Ci który są zdani na upstream, rzędu 512 Mb/s powinni ustawić wartość 800x600, natomiast Ci z 1024Mb/s mogą spróbować ustawić tzw. HD READY (1280x720) (przy takich ustawieniach wysyłane klatki nie będą gubione [OUTPUT DROP = 0]), ale tylko przy wydajnych procesorach i kartach graficznych, aby nie gubić klatek przetwarzanych przez procesor, tzw. klatek wejściowych (INPUT DROP);
        Gubienie klatek INPUT DROP, pogłębia gubienie klatek OUTPUT DROP!
        Ważne! - "Input Size" i "Output Size" powinien być zawsze w obu polach taki same.

        I TO WSZYSTKO DLA VIDEO.

OBRAZ PROGRAMU - screen:

      III) Teraz konfiguracja AUDIO:
        -wybieramy "AUDIO";
        -z listy rozwijanej "Device" wybieramy: Mikrofon - to jest nasze źródło dzwięku;
        -Format polecam Mp3;
        Na nasze potrzeby przyjmujemy, że kompresor dźwięku to program, który zamienia nam dźwięk z mikrofonu do dużo mniejszego rozmiaru niż oryginalny dostarczany z "Device", aby można go wysłać w Internet, nieznacznie pogarszając jakość dźwięku;
        -"Channels" - określa czy dźwięk jest mono czy stereo, w zasadzie to powinno się wybierać tylko STEREO;
        -"Sample Rate" - wybieramy 22050 Hz, w najprostszym tłumaczeniu jest to zakres dźwięków które słyszymy - które słyszy człowiek = częstotliwość fal dźwiękowych odbieranych przez człowieka. 44100 Hz jest dla np.: Psów, :)
        -"Bit Rate" wystarczy w zupełności 40.

        NALEŻY PAMIĘTAĆ, ŻE AUDIO dołoży się do ilości wysyłanych danych w Internet.

      IV) Dodatki:
        -Auto Adjust (BARDZO WAŻNE) - wyregulowanie automatyczne, należy koniecznie zaznaczyć i wybrać Degrade Quality, czyli pogarszaj jakość obrazu i dźwięku, ale nie gub klatek lub Drop Frames, czyli gub klatki, ale nie pogarszaj jakości obrazu i dźwięku;
        -Save to File - możemy zapisywać lokalnie na komputerze to co wysyłamy - dobre do testów jak regulujemy ustawiania;
        -Preview: okno podglądu INPUT, OUTPUT i Audio, ja wybieram zawsze tylko OUTPUT i zmniejszam do 25%;
        -Wszystkie inne opcje powinny być odznaczone;
        -Wewnątrz ustawień Device VIDEO ustawiamy te same wartości co w głównym oknie;
        -Wewnątrz Format VIDEO ustawiamy: CPU Usage jakość naszego procesora, Datarate Window szybkość transmisji okna z danymi, Noise Reduction redukcję szumów, Quality jakość, Keyframe Frequency częstotliwość klatek.

I tu dobra informacja dla tych ca mają podobny punkt odniesienia co ja pod względem KOMPUTERA i Swojego Internetu, nie wspominając o tych lepszych!
Ustawiając:
CPU Usage na Dedicated;
Datarate Window na Huge;
Keyframe Frequency na 10 seconds;
i Quality na Good Quality - Good Framerate.
Możemy w grze ustawić rozdzielczość 1024x768 i we wszystkich programach też tę rozdzielczość, PAMIĘTAJĄC - że liczba np. w Diablo 3 stworzeń na ekranie może z powrotem spowodować, że trzeba będzie powrócić do 800x600.

Pod adresem tutaj, jest link do moich wszystkich ustawień, który możecie pobrać i zaimportować do programu.
Jest to dobry punkt wyjścia do Waszych dalszych bardziej wymagających ustawień.


3. Twarz z kamery internetowej w rogu podczas gdy grasz.

Na chwilę obecną jedyną możliwości jest zakup XSplit lub innego płatnego oprogramowania!
Nie udało mi się znaleźć rozwiązania dla programów darmowych, nie wspominając o programach darmowych do zastosowań komercyjnych.

Pokaże natomiast jak przy pomocy VH Multi Cam Studio, VHScrCap i Flash Media Encoder stream-ować pulpit i obraz z kamery internetowej na twitch.tv - NIE JEST TO OPISANE W TYM POST-CIE, ZA TO DOKŁADNIE POKAZANE W FILMIE YOUTUBE.
UWAGA - program VHScrCap, może być wykorzystywany zamiennie z SCFH+DSF do stream-u gier. W opcji DEVICE [VIDEO] programu Flash Media Encoder należy go wybrać, jak już będzie skonfigurowany. Jego konfiguracje specjalnie pominąłem w tym post-cie, gdyż SCFH-DSF, jest dużo wydajniejszy w zastosowaniach dla gier. Ale w prezentacji Youtube pokazuję również jak go skonfigurować i używać do stream-u pulpitu i obrazu z kamery internetowej jednocześnie.


Poniższy link pokazuje film na twich.tv, który był nadawany online prze zemnie przy zastosowanych ustawieniach opisanych w tym post-cie i przy KOMPUTERZE, który był punktem odniesienia:
Patrz tutaj


A teraz proponuję obejrzeć mój filmik YouTube, które pokazuje wszystko to co opisałem w praktyce.


FILM cz.1:



FILM cz.2:



Wszystkie zademonstrowane programy są darmowe nawet do zastosowań komercyjnych i działają w systemach operacyjnych Windows: XP, VISTA i 7.