4.12.05
Ver un canal P2P TV en varios ordenadores a la vez
Hoy en dia es muy común que en casa tengamos una pequeña red local montada gracias a los routers ADSL. Algunas veces se nos puede plantear la idea de poder ver un canal P2PTV a la vez en varios ordenadores, o simplemente, en cualquier ordenador de casa. Pero como hemos visto en los post anteriores, es bastante trabajoso el que un programa P2P TV esté bien configurado, pues hay que mapear puertos, proxies, etc... Incluso al ser programas que evolucionan muy rápido, salen nuevas versiones cada poco que hay que ir instalando en todos los ordenadores donde los queremos utilizar.
Existe un problema añadido a todo esto, y es que como intentemos usar varios programas de este tipo al mismo tiempo, aunque sea en ordenadores diferentes y el mismo programa, o tenemos una superconexión a Internet y un router a prueba de bombas, o aquello no va a funcionar ni a la de tres pues las necesidades de ancho de banda se van a multiplicar por dos.
Pero como todo problema tiene solución, en este pequeño artículo vamos a intentar darla.
Ya hemos visto como funcionan los programas P2P TV. Basicamente su función es la de ir recogiendo trozos de stream, unirlos para que tenga sentido y mostrar el resultado en cualquier reproductor de video. Y para que un reproductor de estos, como Windows Media Player, pueda reproducir el video, es necesario que este le llegue como si de una emisión de stream normal se tratase. Por eso, la mayoría de estos programas P2P TV (si no todos), realizan también la función de pequeños servidores locales de stream, de forma que el reproductor en cuestión sólo tiene que conectarse a ese servidor y trabajar como si de una emisión online normal se tratase. Gracias a esta característica servidora, vamos a poder solucionar nuestro pequeño problema planteado.
Vamos a suponer que tenemos tres ordenadores conectados entre si en nuestra pequeña red local. Las direcciones IP de cada uno de ellos son 172.16.1.5, 172.16.2.5 y 172.16.3.5.
Elijo uno cualquiera de ellos, por ejemplo el más potente, e instalo en él cualquier programa P2P TV (aconsejo PPLive). Mapeo puertos en el router y todo lo que ya sabemos, hasta conseguir que ese programa funcione correctamente.
Como he comentado anteriormente, muchos programas P2P trabajan como servidor del stream que recompone. Y como sabemos también de anteriores posts, todo servidor escucha por un puerto específico. Para saber toda la información que necesito, me basta poner en funcionamiento el programa en cuestión, cargar algún canal y cuando aparezca el reproductor, por ejemplo Windows Media, me voy al menú Archivo-Propiedades y veo la url que allí aparece, por ejemplo http://127.0.0.1:8888/59.asf. Esta es toda la información que necesitamos. Vemos que WM está conectado mediante protocolo http a un servidor cuya dirección es 127.0.0.1. Esta dirección es la dirección local de nuestro ordenador y se utiliza cuando una aplicación cliente de nuestro ordenador hace referencia a una aplicación servidora también de mi ordenador. Por otra parte vemos que el puerto que utiliza el servidor es el 8888 y 59.asf el nombre del archivo contenedor del stream.
Si dejo funcionando PPLive en dicho ordenador y me voy ahora a cualquier otro ordenador de mi red local, abro el Windows Media, entro en Archivo - Abrir dirección URL... y en dicha ventana escribo la dirección http://127.0.0.1:8888/59.asf ¿qué ocurre? Pues simplemente un error; Windows Media me dirá que no puede abrir el archivo especificado porque el servidor no responde. ¡¡¡Totalmente lógico!!! En este último ordenador no tenemos funcionando el PPLive, por lo que no hay servidor arrancado, y si ponemos 127.0.0.1 que hace referencia a él mismo, aquello no chuta. Sin embargo... ¿qué sucederá si sustituyo en la URL el 127.0.0.1 por la dirección IP privada del ordenador que tiene funcionando el PPLive? Si suponemos que el PPLive está funcionando por ejemplo en el ordenador 172.16.1.5 y yo quiero ver el canal desde el ordenador 172.16.3.5, me basta con poner http://172.16.1.5:8888/59.asf en el Windows Media para empezar a disfrutar de la emisión del canal ¡¡en un ordenador en el que no tengo PPLive!! Es más, como la conexión es local, no utilizo para nada el acceso a Internet, por lo que no consumo ancho de banda. Y por la red local no preocuparse que en la actualidad todas tienen un ancho de al menos 100M.
¿Y si a la vez lo quiero ver desde el otro ordenador libre? Sin problemas, volvemos a hacer la operación y podemos ver ese mismo canal en cualquier ordenador de mi pequeña LAN.
¡Ojo!. El puerto 8888 es por el que escucha el servidor local de PPLive. Si lo intentáis con SopCast o cualquier otro, tenéis que volver a hacer la operación indicada anteriormente para saber por qué puerto y con qué URL emite.
Y poner también atención en el hecho de que nuestra red interna esté totalmente protegida del exterior por firewalls, routers y demás, ya que si soy un descuidado y no protejo bien todos mis puertos, por ejemplo el 8888, cualquiera que sepa mi IP, y eso es lo más fácil del mundo simplemente usando el comando NETSTAT -ano como vimos en el post anterior y haga el intento de conectarse por ejemplo a http://miIP:8888 siendo miIP cualquiera de las IPs que he visto que están conectadas a mi PPLive, os aseguro que va a empezar a chupar y va a ver ese canal tan ricamente, y sin PPLive, sin consumir subida propia pero consumiendo mi subida!!! Y os puedo asegurar que se puede hacer, pues en varias ocasiones he probado aleatoriamente y he podido conseguirlo. Este es otro ejemplo más de que no podemos "jugar" tan ricamente con un ordenador conectado a Internet sin saber las consecuencias que esto puede acarrear. Protegeos, no desactivéis el firewall de Windows XP aunque tengáis routers. No basta con una sola muralla de seguridad. Cuantos más problemas pongas, más dificil lo van a tener.
Ah! se me olvidaba... ¿cómo se la dirección IP privada de mi ordenador? Es muy sencillo: Inicio-Ejecutar... , escribimos cmd y en la ventana de comandos que aparece escribo ipconfig Lo que aparece después de dirección IP es, obviamente, mi dirección IP.
Existe un problema añadido a todo esto, y es que como intentemos usar varios programas de este tipo al mismo tiempo, aunque sea en ordenadores diferentes y el mismo programa, o tenemos una superconexión a Internet y un router a prueba de bombas, o aquello no va a funcionar ni a la de tres pues las necesidades de ancho de banda se van a multiplicar por dos.
Pero como todo problema tiene solución, en este pequeño artículo vamos a intentar darla.
Ya hemos visto como funcionan los programas P2P TV. Basicamente su función es la de ir recogiendo trozos de stream, unirlos para que tenga sentido y mostrar el resultado en cualquier reproductor de video. Y para que un reproductor de estos, como Windows Media Player, pueda reproducir el video, es necesario que este le llegue como si de una emisión de stream normal se tratase. Por eso, la mayoría de estos programas P2P TV (si no todos), realizan también la función de pequeños servidores locales de stream, de forma que el reproductor en cuestión sólo tiene que conectarse a ese servidor y trabajar como si de una emisión online normal se tratase. Gracias a esta característica servidora, vamos a poder solucionar nuestro pequeño problema planteado.
Vamos a suponer que tenemos tres ordenadores conectados entre si en nuestra pequeña red local. Las direcciones IP de cada uno de ellos son 172.16.1.5, 172.16.2.5 y 172.16.3.5.
Elijo uno cualquiera de ellos, por ejemplo el más potente, e instalo en él cualquier programa P2P TV (aconsejo PPLive). Mapeo puertos en el router y todo lo que ya sabemos, hasta conseguir que ese programa funcione correctamente.
Como he comentado anteriormente, muchos programas P2P trabajan como servidor del stream que recompone. Y como sabemos también de anteriores posts, todo servidor escucha por un puerto específico. Para saber toda la información que necesito, me basta poner en funcionamiento el programa en cuestión, cargar algún canal y cuando aparezca el reproductor, por ejemplo Windows Media, me voy al menú Archivo-Propiedades y veo la url que allí aparece, por ejemplo http://127.0.0.1:8888/59.asf. Esta es toda la información que necesitamos. Vemos que WM está conectado mediante protocolo http a un servidor cuya dirección es 127.0.0.1. Esta dirección es la dirección local de nuestro ordenador y se utiliza cuando una aplicación cliente de nuestro ordenador hace referencia a una aplicación servidora también de mi ordenador. Por otra parte vemos que el puerto que utiliza el servidor es el 8888 y 59.asf el nombre del archivo contenedor del stream.
Si dejo funcionando PPLive en dicho ordenador y me voy ahora a cualquier otro ordenador de mi red local, abro el Windows Media, entro en Archivo - Abrir dirección URL... y en dicha ventana escribo la dirección http://127.0.0.1:8888/59.asf ¿qué ocurre? Pues simplemente un error; Windows Media me dirá que no puede abrir el archivo especificado porque el servidor no responde. ¡¡¡Totalmente lógico!!! En este último ordenador no tenemos funcionando el PPLive, por lo que no hay servidor arrancado, y si ponemos 127.0.0.1 que hace referencia a él mismo, aquello no chuta. Sin embargo... ¿qué sucederá si sustituyo en la URL el 127.0.0.1 por la dirección IP privada del ordenador que tiene funcionando el PPLive? Si suponemos que el PPLive está funcionando por ejemplo en el ordenador 172.16.1.5 y yo quiero ver el canal desde el ordenador 172.16.3.5, me basta con poner http://172.16.1.5:8888/59.asf en el Windows Media para empezar a disfrutar de la emisión del canal ¡¡en un ordenador en el que no tengo PPLive!! Es más, como la conexión es local, no utilizo para nada el acceso a Internet, por lo que no consumo ancho de banda. Y por la red local no preocuparse que en la actualidad todas tienen un ancho de al menos 100M.
¿Y si a la vez lo quiero ver desde el otro ordenador libre? Sin problemas, volvemos a hacer la operación y podemos ver ese mismo canal en cualquier ordenador de mi pequeña LAN.
¡Ojo!. El puerto 8888 es por el que escucha el servidor local de PPLive. Si lo intentáis con SopCast o cualquier otro, tenéis que volver a hacer la operación indicada anteriormente para saber por qué puerto y con qué URL emite.
Y poner también atención en el hecho de que nuestra red interna esté totalmente protegida del exterior por firewalls, routers y demás, ya que si soy un descuidado y no protejo bien todos mis puertos, por ejemplo el 8888, cualquiera que sepa mi IP, y eso es lo más fácil del mundo simplemente usando el comando NETSTAT -ano como vimos en el post anterior y haga el intento de conectarse por ejemplo a http://miIP:8888 siendo miIP cualquiera de las IPs que he visto que están conectadas a mi PPLive, os aseguro que va a empezar a chupar y va a ver ese canal tan ricamente, y sin PPLive, sin consumir subida propia pero consumiendo mi subida!!! Y os puedo asegurar que se puede hacer, pues en varias ocasiones he probado aleatoriamente y he podido conseguirlo. Este es otro ejemplo más de que no podemos "jugar" tan ricamente con un ordenador conectado a Internet sin saber las consecuencias que esto puede acarrear. Protegeos, no desactivéis el firewall de Windows XP aunque tengáis routers. No basta con una sola muralla de seguridad. Cuantos más problemas pongas, más dificil lo van a tener.
Ah! se me olvidaba... ¿cómo se la dirección IP privada de mi ordenador? Es muy sencillo: Inicio-Ejecutar... , escribimos cmd y en la ventana de comandos que aparece escribo ipconfig Lo que aparece después de dirección IP es, obviamente, mi dirección IP.