[GUIA] Resumen guía de Gamestreaming de consolas de sobremesa (PS3, X360, PS4, XOne)

1, 2, 3, 4, 513
Deen0X mod
just do it...

Staff
Moderador
18.065 mensajes
desde mar 2006
en The Hades
Editado 5 veces. Última: 23/11/2014 - 22:25:11 por Deen0X.
Gamestreaming de consolas de sobremesa (PS3, X360, PS4 y XOne)

Imagen


Este artículo es un resumen del original que he publicado, y que forma parte de una guía de GameStreaming que estoy desarrollando.

Se puede utilizar este artículo total o parcialmente para ser copiado o distribuido, siempre y cuando se mantenga la fuente y autor original del mismo.

Objetivo de esta guía

Lograr hacer Gamestreaming de una consola de sobremesa en un dispositivo como una consola android, smartphone, tablet, pc.

Acerca de WiiU

A pesar que no creo necesario aclarar este punto, voy a hacer una nota especial sobre esta consola.

Esta guía está basada en el producto Titan One, y por tanto las plataformas que pueden ser viables con dicho dispositivo, son las que yo puedo mostrar streaming en esta guía.

Además, hay otras razones que voy a mencionar sobre WiiU.
Razones lógicas para no incluír WiiU en esta guía:
- WiiU, hasta donde los mismos usuarios han comentado, YA DISPONE DE UN SISTEMA NATIVO para realizar streaming hacia su tabletamando, por tanto NO VIENE A CUENTO crear una guía de como usar la propia WiiU.
- Algunos juegos (como ZombieU) utilizan 2 pantallas, la TV para la acción y el tabletomando para acciones extra. No es viable realizar un streaming de este tipo de juegos y que se ajuste al contenido de esta guía, por que solo contempla una pantalla de juego (a no ser que pongamos una tablet para la pantalla principal, y usar el tabletomando para jugar normalmente). Si alguien realiza alguna prueba por el estilo, que me avise y la incluiré en la guía.

Razones técnicas para no incluír WiiU en esta guía:
- Para el control de gamestreaming, esta guía se basa en el producto Titan Onem, el cual no ofrece soporte para la consola WiiU por una razón técnica: el dispositivo se conecta por USB a la consola donde emulará un control. WiiU no permite dicha conectividad para emular un mando, y por tanto no se puede ofrecer soporte sobre dicha plataforma.

Razones prácticas para no incluír WiiU en esta guía:
- NO tengo la consola, y por tanto no puedo investigar sobre ella.
- El único tipo de streaming que se puede hacer de la consola, es utilizando un dispositivo externo (tablet, movil, etc) para que haga de pantalla principal de la consola. Insisto en que no tengo la consola, y por tanto no tengo la certeza de que esto sea práctico, viable, etc. Si alguien desea probar sobre este punto y ofrecer sus resultados, estaré encantado en poner dichos resultados en la guía para incluír la consola WiiU.

Razones personales:
- El que incluya o no un dispositivo en particular, al margen de las explicaciones anteriores, también pasa por una elección personal. Podría ser un forofo de la PS3, y omitir cualquier otro tipo de consolas, y si lo hago no veo el problema en publicar mis pruebas. No trabajo para una compañía de videojuegos, ni una marca de consolas, ni nada parecido. Soy un usuario mas de este foro y he publicado esta guía PARA QUIEN ESTE INTERESADO sobre este tipo de investigaciones. Si a alguien le molesta que no esté su sistema incluído en esta guía, le invito cordialmente a que investigue sobre dicho dispositivo y si quiere me pasa sus resultados para incluírlo en esta guía, o que publicque su propia guía. Cualquiera de los casos estaré feliz de que alguien mas aporte positivamente a la comunidad.
Aclaro que no tengo nada en contra de esta consola en particular. simplemente, no estoy de acuerdo con la forma de defender este sistema, tirando de fanboyismo para argumentar cosas que no tienen sentido.


Dadas las explicaciones anteriores, por favor, abstenerse de seguir con el tipo de comentarios fanboys (que son eso) sobre la marginalidad que supone no incluír su sistema en esta guía.


Ejemplos de gamestreaming:



Actualmente existen algunos métodos de streaming "nativo" para PS3 y ultimamente para PS4. Estos métodos se basan en instalar y modificar modificar algunos ficheros en un PC, y hacerlo pasar por un portátil compatible con Remote Play de PS3 (solo para uso básico, nada de juego), y el mas nuevo que consiste en modificar los ficheros de un dispositivo Android para hacerlo pasar por un Sony Xperia Z3, el cual es compatible con el Remote Play (en juegos).

Este resumen no tratará estos métodos, aunque pretendo contemplarlos en la guía de streaming.

El método empleado aquí se puede considerar "universal" para las consolas PS3, PS4, X360 y XOne, y en teoría, para cualuquier otra consola que pueda conectarse un mando USB para poder ser utilizada (ya sea directamente o por algún adaptador)

Mis pruebas están basadas en el uso de las consolas PS3 y XBOX360, ya que no dispongo de otras de la actual generación, pero según entiendo, el método funcionará igual de bien en PS4 y XOne.

Aclaro que el método de control solo puede enviar control standard de gamepad. Los movimientos como inclinación del mando, agitar, etc, no están incluídos en el esquema de controles para enviar a la consola.

Uso del término Streaming y GameStreaming en la guía.

Los términos los uso de manera distinta:
- Streaming indica procesos donde solo obtenemos señal de vídeo y de audio en el dispositivo cliente.
- GameStreaming indica procesos de streaming (señal de audio y vídeo), y de control (utilización del mando o algún mecanismo de control para interactuar con la consola)

El software que utilizo para realizar el streaming es una de las siguientes alternativas:
- LimeLight
- Kainy
- Splashtop Gamepad THD

Una vez aclarado lo anterior, seguimos con la explicación de esta guía.

Tenemos dos tipos de streaming que podemos realizar de nuestra consola de sobremesa a otro dispositivo.

  • Streaming solo de Audio y Vídeo. (Usar un dispositivo como una tablet o smartphone, como pantalla externa de la consola de sobremesa)
  • Streaming completo (GameStreaming) de Audio, Vídeo y controles. (Usar un dispositivo como una tablet, smartphone, consola como consola portátil para jugar el contenido de la consola de sobremesa)

Dependiendo de nuestras necesidades y recursos, podremos decantarnos por una u otra opción.

Streaming de Audio y Vídeo

Utilizando los mismos programas y procedimientos comentados en esta guía, es posible realizar un streaming de vídeo de dispositivos externos como puede ser una consola PS3, X360, PS4 o XOne.

El procedimiento es bastante sencillo. Para este tipo de streaming vamos a necesitar una capturadora de vídeo, en la cual vamos a conectar la salida de Vídeo de nuestra consola, y que visualizaremos en la pantalla del PC por medio de algún software de previsualización de la captura.

Una vez tenemos la imagen de nuestra consola en pantalla, utilizaremos alguna de las alternativas de streaming que he comentado, y enviaremos con esto la imagen y el audio a nuestro dispositivo cliente de streaming.

El esquema de esta solución sería algo como esto:

Imagen


El circuito sería el siguiente:

  • Desde la consola (PS3, PS4, X360, XOne *), obtenemos la imagen de salida (señal de vídeo), la cual es enviada a la capturadora de nuestro PC
  • En el PC tenemos alguna aplicación que nos permita visualizar la señal de vídeo y que, mediante un programa de streaming (Limelight, Kainy, Splashtop o simialres) enviaremos a nuestro dispositivo cliente de streaming
  • El dispositivo cliente de streaming (puede ser una tablet, smartphone, otro PC, etc), hará la función de pantalla, en donde visualizaremos el contenido de nuestra consola.
  • El mando será el propio mando de la consola, conectada a ella (la consola) de forma normal, para poder tomar el control directo de la acción.
  • Si lo consideramos práctico, construímos un soporte de dispositivo (smartphone/tablet/etc) para acoplar el mando de la consola, y con esto tener una solución "portable" todo en uno, con mando y pantalla.

* Nota: en principio, este circuito también sería válido para otras consolas. Todo depende de la comodidad de uso que tengas en el mando para poder jugar, utilizando una pantalla externa (dispositivo cliente de streaming).

Por ejemplo, no es muy práctico jugar en una PS2, con un mando Dualshock normal, pero con uno inalámbrico, sería mucho mas cómodo y práctico. Lo mismo se podría aplicar, por ejemplo para una Dreamcast, y algún mando inalámbrico para poder jugar.

¿Para que me sirve streaming de Audio y Video?

Con este método (bastante sencillo además), podremos disponer de un dispositivo externo (tablet, smartphone, etc) para usar de pantalla y poder jugar.

Para ser prácticos, podemos transformar cualquier dispositivo que sea cliente de streaming, en una pantalla de nuestra consola. Esto podría ser una solución bastante práctica para muchas personas que, por ejemplo, no pueden utilizar la consola, por que la TV está siendo utilizada. Para estos casos, puedes disponer de una tablet y jugar directamente en ella. (por poner un ejemplo), utilizando el mando de la consola de forma normal.

Como alternativa, existen algunas soluciones para acoplar un móvil o tablet a un mando de consola. Para estos casos, puede resultar muy interesante buscar sobre el producto GameKlip

Imagen


o incluso alguna guía para fabricarte tu mismo un soporte para acoplar tu movil o tablet (sobre todo ya que las soluciones gameklip están orientadas a usar con un Sixaxis/mando de PS3, y por tanto para otras consolas, hay que fabricar uno que se ajuste bien)



(en portugués, pero se entiende perfectamente lo que hay que hacer)


Las soluciones mostradas en internet son para poder jugar en nuestro dispositivo (smartphone, tablet), utilizando un mando de consola. Aprovechando este mismo concepto lo que hacemos es generar una "pantalla + mando" que nos servirá para jugar en nuestra consola de sobremesa, con la salvedad de que en vez de estar controlando el movil con el mando, controlamos la consola, y la pantalla del dispositivo solo servirá para ver la imagen de la consola.



En el vídeo anterior, aunque no se aprecia bien estoy jugando en una consola android, pero utilizando solo la pantalla para visualizar. Para controlar el juego, estoy utilizando el propio sixaxis de la consola.

Gameklip Casero (muy básico)


Ejemplo de uso (estoy usando un XK3y para cargar el juego)


Ahora, para poder tener un Gamestreaming completo, esto es, además del streaming de vídeo, tener control sobre la consola de forma indirecta (por medio de otro dispositivo), es necesario un componente extra y que explicaré en el siguiente punto.

Capturadoras y la calidad del vídeo obtenido
Imagen


Aquí es el primer punto que debemos tener en consideración, ya que la calidad de la captura que logremos obtener será directa a la calidad del streaming que logremos en nuestro cliente.

Que alternativas tenemos?

No todas las capturadoras nos servirán. Tenemos que buscar alguna que nos ofrezca una buena calidad de imagen (o por lo menos, suficiente para jugar), y sobre todo (y lo mas importante) que NO tenga lag (retardo en la imagen).

Personalmente, he podido probar algunas de las opciones mas comunes (Analógicas PCI, USB, Digitales HD por componentes y por HDMI). En la guía original tengo un detalle mas extenso sobre estas alternativas.

En este resumen me centraré en la alternativa que creo yo es la mejor opción para probar, ya que su coste es relativamente bajo y los resultados en cuanto a calidad son suficientes para lograr una experiencia de Gamestreaming satisfactoria.

Tarjeta capturadora USB Standard
Imagen


Este tipo de tarjetas son las mas fáciles de conseguir, y a mi entender, la que ofrece la mejor relación calidad de imagen obtenida y precio.

En mi caso, y para las pruebas que he generado para esta guía, he adquirido una de estas capturadoras USB en Amazon, por 14.80€. Para mas información, el producto específico que he adquirido es un LogiLink USB 2.0 (el enlace es solo referencial)

Para seleccionar esta capturadora específica, he mirado en sus características que la calidad de vídeo obtenida sea al menos de 480, y este producto destaca:

  • IN PAL: 720 x 576 @ 25 fps
  • IN NTSC: 720 x 480 @ 30 fps

Lo cual, para mi entender es suficiente para el uso que necesito darle. El único detalle que no sabía era si me generaría lag en la captura, pero por el precio que tiene tampoco se perdía mucho en probar.

Afortnuadamente, la calidad obtenida es suficiente y el lag generado es muy pequeño, por lo que resulta adecuada para jugar la mayoría de juegos sin problemas.

Algunos ejemplos obtenidos con esta capturadora.





A continuación, un vídeo explicando algunos detalles sobre este tipo de capturadora.




Software para visualizar la señal de vídeo

Para ver en pantalla la entrada de vídeo, utilizo una de las siguientes alternativas:

- Debut. Gratuíto para uso personal. Permite previsualizar el contenido de la señal de vídeo, y maximizar la imagen al tamaño de la pantalla
- Módulo de captura del programa Total Media Extreme 2 (que viene con la capturadora Hauppage)
- TVViewer (Trial)

En general servirá cualquier programa de visualización de la capturadora de vídeo, que nos permita poner pantalla completa y que no genere lag en la imagen obtenida.


Trucos para el streaming

Imagen con franjas superiores e inferiores

Para evitar estas franjas, asumiendo que tienes un streaming configurado para ir a 1280x720, debes cambiar la resolución de tu pantalla del PC servidor de streaming para que coincida con estos 1280x720. De esta forma, el servidor de streaming no tendrá que ajustar el tamaño original del streaming, y enviará una imagen completa de lo que aparece en ella.

Nota: Revisar tu programa de straming si no cambia la resolución, forzando a alguna específica. Si es así, debes hacer los ajustes necesarios para que todo el proceso vaya a la misma resolución.

Imagen con franjas laterales

Esto puede ser debido a que la consola está configurada con un aspecto que no es widescreen. Mirar en la configuración y probar las configuraciones de aspecto, para conseguir una imagen completa en el cliente de streaming

Imagen con franjas superiores, inferiores y laterales

Esto es mas bien por un problema de resoluciones, y se suele solucionar aplicando los tips anteriores.

También puede ser que tu programa de previsualización de la captura no esté mostrando la imagen en un tamaño mas grande, y solo muestre el tamaño original de la captura. Mira si tiene alguna opción para redimensionar la imagen para que ocupe toda la pantalla.

No podemos utilizar una imagen a pantalla completa

Si por la razón que sea, no nos es posible utilizar una imagen a pantalla completa, podemos utilizar un truco, aunque depende del programa que utilicemos para el Streaming.

Por ejemplo, si utilizamos Splashtop Gamepad THD, en el modo Desktop podemos hacer zoom a la imagen, de tal forma que cuadremos el contenido de la ventana en windows, para que abarque toda la pantalla del cliente de streaming. a continuación pasamos al modo gamepad, y ya tenemos una pantalla completa de la consola.

Si no podemos hacer zoom en el dispositivo, podemos intentar hacer zoom en windows (tecla "WIN" + "-" o "+"), de tal manera que se ajuste la pantalla a la de nuestro dispositivo cliente de streaming.

Evidentemente, no es la mejora alternativa, pero puede servir para salir del paso, sobre todo con las capturadoras analógicas.

Gamestreaming: Streaming + Control
Imagen


Hay varias soluciones en internet que he estado revisando, cada una de las cuales puede ofrecer una parte de la solución final, pero ninguna es una solución integral para el problema del control, exceptuando una: Titan One.

Nota: Si quieres, puedes saltarte esta sección explicativa, y pasar directamente a la sección "Configuración de Titan One para realizar el GameStreaming."

¿Por que Titan One y no otra alternativa?

Para quien conozca este tipo de productos (dongles que permiten "transformar" un tipo de mando en otro), se preguntarán por que no he optado por una solución como Cronus Max.

Imagen


Hay historia al respecto con estos dos productos, que no viene al caso mencionar aquí (basta googlear un poco y encontrar información al respecto), pero puedo resumir en que luego de intentar ponerme en contacto con ambas soluciones, solo una me ha redirigido hacia un contacto en el fabricante, y que luego me han remitido a la persona que diseña el producto y su software, que es Jefferson Koppe.

Imagen


Originalmente, la solución ofrecida por Cronus Max o Titan One, eran incompletas para aplicar en un escenario de gamestreaming. Luego de intercambiar varios mensajes, en donde le expliqué a Jefferson mis "necesidades" para poder llevar a cabo un Gamestreaming de estas consolas, la respuesta se ha materializado en un nuevo desarrollo de un plugin standalone (MaxAim DI v4.20), con algunas modificaciones que permiten realizar el GameStreaming incluyendo las opciones que he comentado en esta guía:

  • LimeLight
  • Kainy
  • Splashtop Gamepad THD

Por tanto, y gracias a que he estado trabajando directamente con el desarrollador del producto, hemos podido ajustar los cambios necesarios para que Titan One sea una solución integral para Gamestreaming, y no tener necesidad de recurrir a herramientas extras y de terceros para conseguir el control en las consolas.

Pregunta: ¿Tengo un Cronus Max que es muy parecido. Me servirá?

La respuesta rápida y directa es: No, no te servirá, ya que el nuevo plugin está diseñado para funcionar solo con el producto Titan One.

Se que hay algunos grupos trabajando en alternativas que utilizan Cronus Max (mira en Otros proyectos similres mas abajo en esta página). Lo único que puedo sugerirte es preguntar por el fabricante por algún soporte similar, o hablar con las personas que están trabajando en estos otros proyectos, a ver si logran avanzar y obtener el mismo resultado.

Resumen de soporte de Titan One, para hacer Gamestreaming con consolas de sobremesa.
Imagen


Nota: Solo dispongo de PS3 y X360 como consolas de sobremesa, pero hasta donde se, la solución también se extiende a PS4 y XOne. Para ello, hay que seguir las indicaciones del fabricante de Titan One, para lograr control sobre dichas plataformas.

LimeLight:

  • Analógico Izquierdo: Rango Completo
  • Analógico Derecho: Rango Completo
  • DPAD: Todas las direcciones
  • 4 Botones de acción A, B, X, Y: OK
  • 2 Botones superiores LB/L1 y RB/R1: OK
  • 2 Gatillos analógicos LT/L2 y RT/R2: OK (en controles digitales, funciona con valores 0% y 100%)
  • SELECT: OK
  • START: OK
  • Botón HOME/XBOX: Se implementa por medio de script: DPAD_DOWN + LSTICK_DOWN + START

Splashtop Gamepad THD
  • Analógico Izquierdo: Rango Completo
  • Analógico Derecho: Rango Completo
  • DPAD: Splashtop traduce este control como flechas de teclado. Se implementa DPAD por medio del modo "CAPTURE", para transformarlos en comandos de gamepad standard.
  • 4 Botones de acción A, B, X, Y: OK
  • 2 Botones superiores LB/L1 y RB/R1: OK
  • 2 Gatillos analógicos LT/L2 y RT/R2: OK (en controles digitales, funciona con valores 0% y 100%)
  • SELECT: No es reconocido. Se implementa botón [TAB] en pantalla, que se captura y transforma en SELECT
  • START: OK. Por hacer mas simple la interfaz, se implementa botón [ENTER] en pantalla, que se captura y transforma en START
  • Botón HOME/XBOX: Se implementa botón [SPACE] en pantalla, que se captura y transforma en HOME/XBOX

Además, en el propio plugin se han implementado funcionalidad con teclado, por si alguien desea utilizar otra solución que no tenga soporte de gamepad.

Imagen


Esta solución implica que los controles analógicos se transforman en digitales, pero ofrece mas compatiblidad con mas soluciones de streaming a futuro (a falta de agregar soporte específico de gamepad)

Pero, ¿Que es Titan One?
Imagen


En la práctica, y explicado de manera muy general, este dispositivo premite transformar muchos tipos de mandos en otros tipos de mandos.

Para ser mas preciso, si tenemos un tipo de mando USB o Bluetooth, podremos conectarlo a nuestra consola PS3, X360, PS4 o XOne, por medio del dispositivo Titan One, que hará las veces de "traductor" entre ambas partes.

Así, es posible jugar con, por ejemplo, un mando de WII en PS4, o con Ratón y Teclado en XOne, o usar el mando de XOne directamente en una consola Android (emulando un mando de PS3 o X360, por ejemplo, con lo que tendríamos soporte en android sin problemas)



En el vídeo anterior, se ha configurado un teclado y ratón para jugar a COD Advance Warfare en una PS4, y como se puede apreciar, la interpretación y "reproducción" de los movimientos del ratón son bastante similares a los de un PC, proporcionando una experiencia distinta y mas "natural" para este tipo de juegos FPS. Aunque el vídeo apunta a que el jugador de la demo es un "novato", en realidad se refiere a que es novato jugando FPS en una consola con un mando, pero es evidente que si sabe jugar este tipo de juegos con un teclado y ratón.

Además de esta característica de "traductor" de mandos, la suite del dispositivo, basada en el programa GTuner, permite una serie de características extra al mando, de manera que podemos hacer cutsomizaciones a controles, y basarlas todo por software. (podemos crear un mando personalizado, sin necesidad de modificar físicamente el mando para obtener las funcionalidades que queramos)

Por ejemplo, podemos generar scripts que lancen secuencias de movimientos, basados en un patrón de entrada (que puede ser un movimiento, un botón, etc)

Podemos modificar el comportamiento de los botones para, por ejemplo, disparar ráfagas de tiros, y evitar que juegos como Mech Warrior o similares no calienten tan rápido el armamento.

Podemos generar una emulación de movimiento analógico para contactos digitales, para por ejemplo, obtener un movimiento mas suave en juegos de conducción cuando solo tenemos entradas digitales.

En fin, se pueden hacer muchas cosas con esta suite, pero hay una de ellas que es la mas interesante desde mi punto de vista, y es la que he utilizado para basar mi solución de streaming de consolas de sobremesa.

Según la página del fabricante de Titan One:

  • Game on your PS4, Xbox One, PS3 or Xbox 360 using your favorite PC gaming-grade keyboard and mouse thru the MaxAim plugin.

Lo que podemos entender como que podemos usar lo que tengamos conectado a nuestro pc como mando para usar en nuestra consola.

Con esto tuve la idea base para generar todo el proceso de Gamestreaming.

Si el plugin MaxAim es capaz de utilizar "cualquier dispositivo de entrada de juegos incluyendo teclado y ratón" que tengamos conectado en nuestro PC, y transformar para ser utilizado como mando en una consola, entonces sólo faltaba por ver si estos dispositivos incluyen los Gamepad virtuales generados por cada solución de streaming, a saber:

  • LimeLight: Genera 2 tipos de mandos, uno HID normal y otro XInput compatible
  • Kainy: Genera 4 gamepads de tipo XInput (para los 4 players que es capaz de manejar)
  • Splashtop THD: Genera una conexión USB (incluyendo instalación de drivers) de un mando X360, cada vez que está activo el streaming. Cuando finaliza la sesión de streaming, este mando se "desconecta" de windows.

Para detalles de como montar Titan One, y el resto de componentes para el streaming, mirar la sección "Guía Rápida para Consolas"


Actualización del Plugin

Luego de estar hablando con el fabricante del producto, ha implementado varias soluciones en una actualización de su Plugin, entre las que destacan:

  • Conversión y normalización automática de rangos de valores analógicos (Sticks y Gatillos)
  • Generación de versión Stand Alone del plugin
  • Soporte para XInput (ahora cualquier mando XInput conectado a windows funcionará con Titan One y su plugin MaxAimDI)
  • Agregado soporte al plugin standalone para cargar y ejecutar scripts (con lo que se implementa por ejemplo el botón "HOME/XBOX")

Todas estas actualizaciones apuntan principalmente a dar soporte a los controles generados por las soluciones de Streaming, por lo que podemos hablar de una solución todo en uno para este tipo de usos específicos (streaming de consolas de sobremesa)

Imagen


Con esto, ya tenemos acceso al control de nuestra consola y, en conjunto con alguna herramienta de streaming, poder jugar en nuestros dispositivos Android directamente.

Limitación del control para encender la consola

TitanOne y cualquier otro dispositivo similar, tendrá una limitante a la hora de utilizar una consola de sobremesa, y es que no es posible activar el sistema (ninguno de los existentes) por medio del propio dispositivo.

Esto significa que si estamos con nuestra PS3, no podremos encenderla mediante algún comando en el ordenador. Hay que encender físicamente la consola para poder utilizarla.

Lo que si se puede hacer es que una vez que está encendida, podemos apagarla sin problemas.

Esto, de cara al streaming remoto, puede suponer un problema, puesto que si no hay nadie físicamente para poder encender la consola, no podremos realizar ningún tipo de streaming remoto, por ningún medio.

Otros proyectos similares

Mientras he estado haciendo pruebas e investigando, nielo360 (forero habitual de dintoonity) me comentó que existía un hilo similar a lo que yo estaba haciendo en los foros de GeForce

Luego de revisar dicho foro, efectivamente vi que todos estabamos apuntando en la misma dirección, pero con distintas herramientas. Mientras yo me he centrado en una solución externa (hardware) y varias soluciones de software (LimeLight, Kainy, Splashtop), en ese foro se han centrado en una solución de software de Streaming (LimeLight) y varias soluciones de hardware, entre las que se incluyen CronusMax, Titan One, GIMX, Remote GIMX

En dicho hilo se comenta el uso de Cronus Max, y algunos problemas que tenían. También comentan el uso de algunos kit DIY para generar sus propios controles de la consola, pero he considerado bastante complicado y peligroso intentar seguir dichas indicaciones, considerando además mi poca habilidad a la hora de soldar componentes, y por tanto descarté generar una sub-guía para explicar como hacerlo con dichos métodos.

Sabía que la solución a los problemas pasaba principalmente por ponerme en contacto con el fabricante del dispositivo (en este caso, Titan One) y ver si lográbamos encontrar una forma de solucionarlos.

Creo interesante leer dicho hilo, para quienes estén interesados en este tipo de investigaciones, pero para aquellos que no quieran complicarse mucho, no es una lectura obligatoria (aunque insisto, muy recomendada eso sí, por los temas interesantes que se comentan en dicho hilo)

En este punto debo aclarar que, si bien la idea de gamestreaming se me ha ocurrido a mi (vengo dando vueltas hace tiempo con este tema), lo cierto es que no soy el único que se le ha ocurrido la misma solución y que me he enterado de estos otros proyectos cuando ya tenía avanzado el estado del plugin (hablando con el desarrollador del mismo) para dar el soporte necesario en el dispositivo.

Mención especial quería hacer al usuario Nefylem, que ha estado trabajando por su cuenta para ofrecer mas alternativas Todo en Uno, y que ha generado una utilidad que creo merece la pena revisar, y que ha publicado en los foros de GeForce. Esta solución no es 100% compatible con la alternativa que he expuesto en este artículo, pero para quien quiera buscar mas información y alternativas, es algo a tener en cuenta.

Configuración de nuestra infraestructura

Hasta aquí voy a asumir que ya tienes implementada la parte de streaming hacia tu PC (mira en la guía por la solución que mejor se acomode a tu configuración/infraestructura)

El siguiente paso, luego de tener streaming de nuestro PC en un dispositivo android (consola, tablet/smartphone con mando) es lograr controlar la consola desde el propio dispositivo con la ayuda de Titan One.

El esquema de instalación es muy simple:

Imagen


Explicación del circuito:

  • Desde la consola (PS3, PS4, X360, XOne *), obtenemos la imagen de salida (señal de vídeo), la cual es enviada a la capturadora de nuestro PC
  • En el PC tenemos alguna aplicación que nos permita visualizar la señal de vídeo y que, mediante un programa de streaming (Limelight, Kainy, Splashtop o simialres) enviaremos a nuestro dispositivo cliente de streaming
  • El dispositivo cliente de GameStreaming (puede ser una tablet, smartphone, otro PC, una consola, etc con un mando conectado a ella), hará la función de pantalla, en donde visualizaremos el contenido de nuestra consola, y de mando, con el cual controlaremos la acción.
  • El PC procesará la información del gamepad enviado por el cliente de streaming, y lo "transformará" a un mando de consola de sobremesa por medio de Titan One (el cual estará conectado por un cable USB), y la aplicación/Plugin MaxAimDI.
  • Dependiendo de la consola que usemos, puede que sea necesario utilizar un mando original** conectado a Titan One, para lograr superar la autentificación del mando (el emulado por Titan One)

* Nota: La guía la he realizado utilizando una PS3 y una X360, pero Titan One tiene soporte para PS4 y XOne por lo que en teoría también debería funcionar para dichas plataformas.

** Nota 2: Algunas consolas como X360, necesitan de un mando con cable para poder realizar el paso de verificación del mando en la consola. También es válido utilizar un receptor inalámbrico del mando de X360, conectado por el puerto USB de Titan One.

La diferencia de este esquema y del inicial, es que en este caso tenemos control indirecto de nuestra consola por medio del mando que tengamos conectado al cliente. Esto nos supone un abanico de opciones mucho mas grande, ya que ahora seremos capaces de utilizar cualquier mando para jugar directamente en nuestra consola.

Además, y por la propia característica de los programas de GameStreaming, podremos realizar incluso un juego remoto, ya que el mando seguirá siendo interpretado por el servidor de streaming, y transformado al mando correspondiente de la consola que tengamos conectada.

Configuración de Titan One para GameStreaming de consolas

  • Descargamos e instalamos la aplicación GTuner desde la página del desarrollador:

GTuner Download

Imagen


  • Ejecutamos GTuner.

Imagen


  • Conectamos un cable USB en nuestro PC, y en el puerto "PC PROG" (MiniUSB) de Titan One

Imagen

(Titan One mostrará una "P" cuando esté conectado al PC)


  • Se instalarán los drivers automáticamente.

ImagenImagen


ImagenImagen


  • GTuner verificará el firmware instalado en el dispositivo. Si existe alguna versión mas nueva, la descargará e instalará automáticamente.

Imagen


  • Una vez instalado GTuner y el firmware actualizado en Titan One, ya podemos utilizar el dispositivo, para lo cual conectaremos el puerto USB 2.0 Macho, en la consola que queramos hacer GameStreaming (por ejemplo, X360)

Imagen


  • Como en este caso es una consola X360, conectamos un mando con cable o receptor inalámbrico en el puerto USB 2.0 Hembra de Titan One

Imagen


Imagen


  • En GTuner, seleccionamos "Plugins - Plugin Manager" y descargamos el "MaxAimID". Este plugin será nuestra base para realizar cambios que se compilarán para funcionar con el plugin standalone.


  • Una vez descargado, vamos a GTuner y seleccionamos la pestaña inferior "GPC Compiler", y cargamos aquí el fichero "Deen0X GameStreaming.glf" que hemos descargado anteriormente.

Imagen


  • Presionamos F7 (para compilar el script), y a continuación seleccionamos el plugin que hemos instalado MaxAim DI (presionar [Alt]+[F1] para cargarlo directamente)

Imagen


  • El plugin aparecerá con un layout por defecto y vacío. Seleccionaremos "File - Import Layout", y cargaremos el layout que hemos descargado "Deen0X GameStreaming.glf"

Imagen


  • Para asegurarnos que el script está correctamente implementado, vamos a seleccionar "Layout Options - Loda GPD Script", para que se configure el script que tenemos cargado en GTuner GPC Compiler.

Y con esto tenemos configurado nuestro mando para usar en una consola de sobremesa.

Explicación del layout

Este layout funciona con los mandos standard generados por cada solución de streaming, y que se ha normalizado de tal forma que no hay que realizar cambios en el layout para que funcione directamente con LimeLight, Kainy o Splashtop THD.

Imagen


Además, he configurado para cada control, un segundo "input", generando un segundo layout paralelo basado en teclas de un teclado standard. Esto lo he dejado así, para dar soporte a otro tipo de programas de streaming que no tienen soporte para gamepads, y por tanto la interacción se debería realizar basado en teclas (y/o ratón) que son la entrada standard de cualquier programa de streaming.

Imagen


En la imagen se puede ver el layout completo de teclado configurado en el mando

El resto de controles son los controles standard de un gamepad

Ya solo nos falta activar el mando de nuestra solución de gamestreaming.

Probar el control de nuestra consola

Ya tenemos todo configurado, ahora tenemos que ver si funciona. Con el Titan One conectado a la consola, cargamos el plugin y lo primero que hacemos es ver si el mando normal de la consola (que tenemos conectado al Titan One, y éste se encuentra en un puerto USB de la consola) responde sin problemas.

Luego, vamos al PC, cargamos GTuner y el "MaxAim DI plugin", y con el ratón presionamos en los botones de los mandos del control en pantalla.

Si todo está correctamente configurado, cuando presionemos los controles, la consola responderá de acuerdo con lo que presionemos.

Ahora, cargaremos nuestra solución de gamestreaming (LimeLight, Kainy o Splashtop THD). Para este ejemplo, voy a utilizar LimeLight.

En nuestro cliente LimeLight, lanzamos el icono de control remoto del PC Servidor (Mirar en "Gamestreaming 4.4.1 - Guía resumida con LimeLight", en el apartado "Agregar Control Remoto del PC Servidor")

Cuando logremos conectar el equipo para hacer Streaming, nos centraremos en la pantalla de la consola (que ya tenemos conectada a nuestra capturadora, y que estamos mirando por algún programa de visualización), y movemos los controles del cliente de gamestreaming, para ver que respondan correctamente

Una vez verificado que todo funciona correctamente, ya solo nos queda la última parte: maximizar la ventana de la visualización de la capturadora!

el efecto que tendremos es que la pantalla del cliente de streaming contendrá únicamente el contenido de nuestra consola de sobremesa, y que gracias a Titan One, tendremos control desde el dispositivo hacia la consola.


Resmen

Dejo hasta aquí el resumen, que creo que en general explica la idea fundamental de como realizar el GameStreaming, y que podemos resumir en:

existen 2 tipos de alternativas: Streaming y GameStreaming.
Con Streaming, podemos transformar un dispositivo como una tablet, smartphone, pc, etc, en una pantalla para poder jugar en nuestra consola (solo tenemos streaming de Audio y Video).
En esta alternativa seguimos controlando la consola con el propio mando de ella

Con GameStreaming, podemos controlar nuestra consola desde el propio dispositivo que estamos utilizando para ver el contenido de la misma.
Esta alternativa además nos permite poder jugar de forma remota, ya que las mismas alternativas de gamestreaming aplicadas por la solución de nuestra preferencia, también nos dará herramientas para poder jugar en streaming remoto (fuera de nuestra red local), ya sea conectándonos a otra red wifi (restaurant, otra casa, etc) o incluso por una conexión 3G/4G (con el consumo que esto conlleva evidentemente)

Los "materiales" que necesitamos serán los siguientes:

Para el Audio y Vídeo (parte de Streaming), vamos a necesitar una capturadora de vídeo, en la cual insertaremos la salida de vídeo de la consola que queramos controlar. La calidad de imagen dependerá directamente de la calidad de la capturadora, y por tanto, mientras mas calidad, mas coste. Sugiero probar con una capturadora USB, que es relativamente económica y que permite hacernos una idea general de como iría nuestro streaming.

Para el control (Parte de Interacción) necesitaremos la herramienta Titan One, que nos dará la interfaz necesaria para poder "traducir" los controles que enviemos desde nuestro dispositivo, para que sean interpretados como acciones en un mando conectado a nuestra consola.

Coste total: si consideramos la alternativa de vídeo LimeLight (gratis) la capturadora de vídeo analógica USB (15€ aprox) y el dispositivo de control Titan One (unos 65€), el coste total de esta solución serían alrededor de unos 80€. Creo que es bueno que, antes de lanzarte a probar esta alternativa, consideres si la funcionalidad por sí sola de Titan One, te merece la pena y le sacarás provecho.

Para ejemplos, dejo un vídeo de ejemplo de uso de Titan One, en una consola PS4, jugando con teclado y ratón, y en donde se puede apreciar que los movimientos generados por Titan One emulan muy bien la velocidad y precision que ofrece un ratón para jugar un FPS.



Existen otras alternativas, pero que no he profundizado, por que me han parecido mas complicadas para una guía que pretende hacer fácil los pasos para un usuario normal (sin muchos conocimientos, o que no tenga mucha experiencia en "cacharreo"). Estas alternativas pasan por varios productos, incluyendo kit DIY (kit para armar circuitos, soldando, etc), y la utilización de software mas específico, y que he preferido omitir, simplificando el proceso en general para lo cual me he puesto en contacto directo con el desarrollador del software de la solución que he comentado en esta guía (Titan One), ayudando a implementar las opciones necesarias para simplificar el proceso.

Espero que esta introducción sirva para hacer una idea general de como realizar un gamestreaming de las consolas de sobremesa, y que sobre todo resulte útil para quien quiera probarlo.

Un vídeo con algunos ejemplos extra sobre el uso de este tipo de streaming:



Agradecimientos:
Jefferson Koppe, por el desarrollo del plugin y el interés en el proyecto
Scatsy, por el mando de X360, y por ofrecerse a generar vídeos de mejor calidad que los que hago (que ya capturaremos)
Skelton, Carlos A, Petiso Carambanal, RuneSword, por las pruebas.
y mas gente que me dejo en el tintero/teclado.

Zalu2!
yoijin
I'M A DOUCHEBAG
3.777 mensajes
y 1 foto
desde jul 2004
en EL QUINTO COÑO
Puto amo

Así tal cual, PUTO AMO
xsecktorx
MegaAdicto!!!
3.164 mensajes
desde ene 2007
en Planeta tierra
Ni chinchetazo ni leches, una escarpia de ferrocarril y una mariscada para este hombre.

Pedazo de info. Menuda currada.

Tengo pensado ponerme pronto con este tema y ya con toda esta info pues perfecto.
Mil gracias. [plas] [plas]
Messiahs
I see you
4.589 mensajes
desde abr 2003
en Alicante
Lo he visto en el de Xbox que lo comentas y me interesa xD, pero mucho para leer ahora mismo me lo apunto para luego que tiene una pinta increible xD
pochi
Megaorgonitero!!!
3.418 mensajes
desde nov 2005
en Nibiru
Muy buen curro socio!! y gran post [fumando]

Saludos.
Deen0X mod
just do it...

Staff
Moderador
18.065 mensajes
desde mar 2006
en The Hades
Editado 1 vez. Última: 23/11/2014 - 03:07:01 por Deen0X.
Hay actualización del plugin MaxAim DI.
Ahora da soporte a Kainy

aparte del streaming hacia dsipositivos tradicional (consolas, tablets,smartphones), hay mas usos que puede ofrecer kainy.

Este es un ejemplo:



Edito:

Prueba que he realizado con el forero Petiso

Streaming de la consola PS3 desde Madrid a Sevilla


Existe lag, que creo que puede influír en este tipo de juegos, pero para otro tipo como GTAs Batman, Assassin´s Creed, etc, no debería ser muy notorio y por tanto serían jugables sin problemas.
Deen0X mod
just do it...

Staff
Moderador
18.065 mensajes
desde mar 2006
en The Hades
bueno, artículo publicado en portada

hilo_articulo-gamestreaming-de-consolas-de-sobremesa-ps3-x360-ps4-y-xbox-one_2054656

me sorprende la visión que puedan tener algunas personas... cada uno el libre de pensar lo que quiera... pero algunas visiones me sorprenden de verdad.

en fin

a otra cosa.

He modificado el layout del plugin, y ahora es posible jugar con teclado y ratón (además de las opciones anteriores)

esto viene muy bien para jugar, por ejemplo, FPS, utilizando kainy (en un navegador chrome por ejemplo)




Gameklip casero (cutre cutre, no, lo siguiente, lo se)


y una demo rápida de gameklip para X360
popen123456
MegaAdicto!!!
922 mensajes
desde feb 2007
;Tendre que hacerme con una capturadora, gran trabajo
eyes_to_Zion
Adicto
183 mensajes
desde jun 2005
en Granada
Excelente trabajazo, todo un curro el que te has pegado Deen0x. De veras muchísimas gracias por toda la información que compartes, Internet es un poquito mejor gracias a la información que comparte gente como tú.

Gracias de nuevo!
schuko1982
Cazador de MH4U
1.838 mensajes
desde dic 2009
en Vendrell (tarragona)
@Deen0X buen trabajo, cuando tenga tiempo probaré con una gato hd que tengo aquí,aunque no sé el lag que producirá, ya que yo en el pc le noto como 2 segundos tarde y puede ser muy molesto eso, aunque el dispositivo titan one tiene buena pinta.

saludos.
1, 2, 3, 4, 513