Orbx to algorytm dekodujący korzystający tylko z JavaScript.
Tak - JS robi to samo co vp8 czy H.264. Tak, plik zakodowany tym kodekiem da się pobrać na dysk.
Natomiast działa to w ten sposób, że dane zakodowane znajdują się po stronie serwera. Potrzebny jest streaming z serwera do przeglądarki - w tym celu najlepiej byłoby chyba wykorzystać WebSockets.
ORBX.js korzysta z WebGL, bez niego nie ma żadnej możliwości dekodowania źródła danych. Prawdopobnie jest to po prostu shader GLSL tylko znacznie rozbudowany plus jakieś - pewnie dość proste API.
Poza tym ORBX.js to nie tylko filmy, rzecz polega na tym, że wszelkie obliczenia mogą być wykonywane po stronie serwera, i przesyłane do klienta w formie zakodowanej. Można więc urządzić dwustronną komunikację.
Tutaj jest ciekawy przykład:
https://brendaneich.com/2013/05/today-i-saw-the-future/Na tym filmiku - wejście (czyli informacje np z klawiatury, myszy) są przekazywane do serwera, serwer odbiera te dane, oblicza wyjście, i przesyła obraz zakodowany algorytmem kodującym ORBX.js.
Z tego co widać na filmiku - serwer zajmuje się renderowaniem obrazu trójwymiarowego w czasie rzeczywistym w 3DSMAX i dane wracają do klienta.
Jest to o tyle użyteczne, że każdy komputer, podłączony do serwera nie zajmuje się obliczeniami sam, musi mieć jedynie połączenie, które umożliwia przesyłanie danych z odpowiednią przepustowością.
Można by było więc na bardzo słabym komputerze zagrać w najnowsze gry, bo przetwarzaniem danych zajmuje się w całości serwer, klient tylko wysyła dane wejścia i odbiera i dekoduje obraz (co jest relatywnie mało wymagające dla karty graficznej). Należy pamiętać, że ten ORBX.js korzysta z GPU, a nie CPU. Potrzebna jest prawdopodobnie programowalna karta graficzna (z obsługą shaderów GLSL) , czyli taka, która obsługuje OpenGL 2.0.
To jest idealne rozwiązanie na platformy mobilne, które nie dysponują dużą mocą obliczeniową.
Szczegółów nie znam.