› Foros › Tecnología › Electrónica de consumo
ave escribió:Edito: Graham creo que la opcion de busqueda no esta implementada en los plugin tuyos.
/*
(C) 2011 sombragris.
This application is designed for Zoster's USMP server which runs (amongst others)
inside the EM7075 and DTS variant.
This code is GPL licensed. Please read it here: http://www.gnu.org/licenses/gpl.html
In addtion to section 7 of the GPL terms, there is one additional term :
G) You must keep this header intact when you intend to release modified copies of the program.
Thank you, and enjoy this plugin.
*/
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
char * hexchar2bin(char c)
{
int i = -1;
char buffer[ 4 ];
char *padded = (char *)malloc(5);
if( (c >= '0') && (c <= '9') ) {
i = (c - '0');
} else if( (c >= 'a') && (c <='f') ) {
i = (c - 'a' + 10);
} else if( (c >= 'A') && (c <='F') ) {
i = (c - 'A' + 10);
}
if( i > -1 ) {
itoa(i, buffer, 2);
// Pad
memset(padded, '0', 4);
strcpy(padded + (4 - strlen(buffer)), buffer);
}
return padded;
}
void BinToHex(char * BinData, char * HexData)
{
int Number = 0;
int BinLength = strlen(BinData)/4;
int i;
int j;
char HexNum[2];
for(i=0; i<BinLength; i++)
{
//#define FirstDigit 48
//Number += ((BinData[BinLength - i - 1] - FirstDigit) * pow(2, i));
//Number += ((BinData[BinLength - i - 1] - 48) * pow(2, i));
Number = 0;
for(j=0;j<4;j++) {
Number += (BinData[(i*4)+j] - '0') * pow(2, 3-j);
}
ltoa(Number, HexNum, 16);
strcpy(HexData+i, HexNum);
}
}
char * decrypt(char * str, long int key1, long int key2)
{
long int reg6[384];
long int i;
char tchar;
char * hexhash = (char *)malloc( sizeof(char) * strlen(str) );
char * binhash = (char *)malloc( sizeof(char) * 4 * strlen(str) );
char * binary;
for(i = 0; i < strlen(str); i++) {
binary = hexchar2bin(str[i]);
strcpy(binhash + (4 * i), binary);
}
free(binary);
for(i = 0; i < 384; i++)
{
key1 = (key1 * 11 + 77213) % 81371;
key2 = (key2 * 17 + 92717) % 192811;
reg6[i] = (key1 + key2) % 128;
}
for(i = 256; i >= 0; i--)
{
tchar = binhash[ reg6[i] ];
binhash[ reg6[i] ] = binhash[ i % 128 ];
binhash[ i % 128 ] = tchar;
}
for(i = 0; i < 128; i++)
{
binhash[i] = binhash[i] ^ (reg6[i+256] & 1);
}
// Solo me queda convertir la cadena a hexadecimal
BinToHex(binhash, hexhash);
free(binhash);
return hexhash;
}
int main()
{
char * hash;
// Datos del video de pruebas
hash = decrypt("880658158e23afff495c37ab50a66fbc", 3277, 96640);
printf("Result: %s\n", hash);
return 0;
}
el-reza escribió:Hola para mover los 3 plugins que tengo sin caratula a la carpeta mas, como lo hago??? Los borro de la apgina de activado y los vuelvo a meter en la carpeta + a mano con el identificador igual al nombre del plugin????
el-reza escribió:Hola para mover los 3 plugins que tengo sin caratula a la carpeta mas, como lo hago??? Los borro de la apgina de activado y los vuelvo a meter en la carpeta + a mano con el identificador igual al nombre del plugin????
Acrapovic escribió:Draghann, yo no tengo nada que preguntarte, pero simplemente quiero DARTE LAS GRACIAS en nombre de todos, por la enorme paciencia que tienes contestando todas las preguntas, aunque esten más que contestadas.
P.D.: Gracias tambien a Sombragris, Kito y demás, sin todos ellos no tendríamos nada.
Danilo Thann escribió:Me uno a la felicitación, añado una vez más la mía (GRACIAS!!!!), y os hago una pregunta / sugerencia, que iwal es fácil de solucionar, y ya está implementado en la mayoría de plugins de la "Era-Kito" . El de AÑADIR FAVORITOS en la propia carpeta de la SERIE desde el Mando del WD LIVE (el último item, sería precisamente el que activa la funcion de "Añadir a Favoritos").
cachiputi escribió:Hola!
Bueno acabo de actualizar mi WD con la cantidad de cosas nuevas que habéis aportado desde hace unas semanas. GRACIAS POR VUESRO CURRO!
Pero la de las RADIOS ESPAÑOLAS no me funciona, entro en la carpeta especifica que e creado para ello y me dice que no contiene medios (si no recuerdo mal)
A alguien mas le sucede?
Como puedo solucionarlo?
Otra cosilla, en que ubicación se encuentra el activados.php ?¿ tengo 2 WD TV Live y me e currado el activados en uno, quiero utilizar ese mismo activados para el otro.
Gracias!
cachiputi escribió:Hola!
Bueno acabo de actualizar mi WD con la cantidad de cosas nuevas que habéis aportado desde hace unas semanas. GRACIAS POR VUESRO CURRO!
Pero la de las RADIOS ESPAÑOLAS no me funciona, entro en la carpeta especifica que e creado para ello y me dice que no contiene medios (si no recuerdo mal)
A alguien mas le sucede?
Como puedo solucionarlo?
Otra cosilla, en que ubicación se encuentra el activados.php ?¿ tengo 2 WD TV Live y me e currado el activados en uno, quiero utilizar ese mismo activados para el otro.
Gracias!
Draghann escribió:cachiputi escribió:Hola!
Bueno acabo de actualizar mi WD con la cantidad de cosas nuevas que habéis aportado desde hace unas semanas. GRACIAS POR VUESRO CURRO!
Pero la de las RADIOS ESPAÑOLAS no me funciona, entro en la carpeta especifica que e creado para ello y me dice que no contiene medios (si no recuerdo mal)
A alguien mas le sucede?
Como puedo solucionarlo?
Otra cosilla, en que ubicación se encuentra el activados.php ?¿ tengo 2 WD TV Live y me e currado el activados en uno, quiero utilizar ese mismo activados para el otro.
Gracias!
a ver, creo que el problema es que has creado una carpeta al activarlo cuando lo que tienes que crear es un plugin. Elimínalo de activados.php y créalo como plugin con el identificador spanishradio .
Un saludo.
cachiputi escribió:Lo e creado como plugin dentro de una carpeta a la cual le e llamado Radio. Crees que puede influir por eso, porque el plugin lo meti dentro de una carpeta?
Gracias!
Draghann escribió:cachiputi escribió:Lo e creado como plugin dentro de una carpeta a la cual le e llamado Radio. Crees que puede influir por eso, porque el plugin lo meti dentro de una carpeta?
Gracias!
No tiene por qué ser un problema. Si realmente lo has creado como plugin y al pinchar sobre él te da el error casi seguro que te has equivocado al poner el identificador. Si no es eso, entra por ftp y asegúrate de que tienes el spanishradio.php en /tmp/umsp-plugins .
cachiputi escribió:Pues no me sale, en esa carpeta, pero me salen todos los demás, milenio3, piratita, etc...vamos todos los nuevos.
bin escribió:No hace falta que los unifiques ya que hace tiempo ribalda modificó el archivo umsp-svn-spanish para que al reiniciar descargara los plugins de los dos repositorios (es decir el de radios, y el de pelis y series). Mas atrás se explica como hacerlo y tu macho, deberías saberlo porque ya se te explicó en su día. De todas formar, para los nuevos os digo lo que teneis que hacer:
- Entrar por ftp al wd y buscar en la carpeta de temp/conf el archivo umsp-svn-spanish.
- Ahora solo teneis que editarlo de la siguiente forma:#!/bin/sh
### 2010 by Sombragris (adapted from S64umsp)
### GPLv3 - full license located @ /usr/share/LICENSE
### Stipulations:
### - this entire header must be left intact
while [ true ] ; do
ping -c1 www.google.com 2>/dev/null >/dev/null
if [ "$?" == "0" ] ; then
if [ -z "`grep -i \^UMSP=\'OFF\' /conf/config`" ] ; then
[ -n "`grep -i \^APACHE=\'OFF\' /conf/config`" ] && logger -t $0 "Apache webserver must be on for UMSP to work!!!" && exit 1
if [ -z "`grep -i \^UMSP_SVN=\'OFF\' /conf/config`" ] ; then
logger -t $0 "Exporting all spanish umsp plugins from svn"
svn export --non-interactive --no-auth-cache --force http://umsp-pack.svn.sourceforge.net/svnroot/umsp-pack/umsp-plugins/ /tmp/umsp-plugins
if [ -f "/tmp/conf/umsp.php" ]; then
echo "exporting umsp.php"
svn export --non-interactive --no-auth-cache --force http://umsp-pack.svn.sourceforge.net/svnroot/umsp-pack/umsp.php /tmp/conf/umsp.php
fi
#Restricted Plugins
logger -t $0 "Exporting restricted plugins"
svn export --trust-server-cert --non-interactive --no-auth-cache --force https://svn.wdlxtv.com/svn/UMSP/restricted-plugins/ /tmp/umsp-plugins
#Ribalda Plugins
logger -t $0 "Exporting Ribalda plugins"
cd /tmp
rm -fr ribalda-umsp-plugins-ribalda*
wget --no-check-certificate https://github.com/ribalda/umsp-plugins-ribalda/zipball/master && unzip ribalda-umsp-plugins-ribalda-*zip && cp ribalda-umsp-plugins*/*php /tmp/umsp-plugins/ && rm -fr ribalda-umsp-plugins-ribalda*
fi
fi
exit 0
fi
sleep 5
done
- Guardais los cambios y desconectais de la corriente.
De esta forma descargará cada vez que reinicieis de la corriente los plugins de pelis y series y los de radio.
La próxima vez que salga un plugin y esté en uno de los dos repositorios, con desconectar de la corriente ya lo tendreis instalado, solo hace falta activarlo, así de simple. Y por favor, leed un poco que todo lo que preguntais está ya explicado. Sin acritud.
Un saludo
cachiputi escribió:bin escribió:No hace falta que los unifiques ya que hace tiempo ribalda modificó el archivo umsp-svn-spanish para que al reiniciar descargara los plugins de los dos repositorios (es decir el de radios, y el de pelis y series). Mas atrás se explica como hacerlo y tu macho, deberías saberlo porque ya se te explicó en su día. De todas formar, para los nuevos os digo lo que teneis que hacer:
- Entrar por ftp al wd y buscar en la carpeta de temp/conf el archivo umsp-svn-spanish.
- Ahora solo teneis que editarlo de la siguiente forma:#!/bin/sh
### 2010 by Sombragris (adapted from S64umsp)
### GPLv3 - full license located @ /usr/share/LICENSE
### Stipulations:
### - this entire header must be left intact
while [ true ] ; do
ping -c1 www.google.com 2>/dev/null >/dev/null
if [ "$?" == "0" ] ; then
if [ -z "`grep -i \^UMSP=\'OFF\' /conf/config`" ] ; then
[ -n "`grep -i \^APACHE=\'OFF\' /conf/config`" ] && logger -t $0 "Apache webserver must be on for UMSP to work!!!" && exit 1
if [ -z "`grep -i \^UMSP_SVN=\'OFF\' /conf/config`" ] ; then
logger -t $0 "Exporting all spanish umsp plugins from svn"
svn export --non-interactive --no-auth-cache --force http://umsp-pack.svn.sourceforge.net/svnroot/umsp-pack/umsp-plugins/ /tmp/umsp-plugins
if [ -f "/tmp/conf/umsp.php" ]; then
echo "exporting umsp.php"
svn export --non-interactive --no-auth-cache --force http://umsp-pack.svn.sourceforge.net/svnroot/umsp-pack/umsp.php /tmp/conf/umsp.php
fi
#Restricted Plugins
logger -t $0 "Exporting restricted plugins"
svn export --trust-server-cert --non-interactive --no-auth-cache --force https://svn.wdlxtv.com/svn/UMSP/restricted-plugins/ /tmp/umsp-plugins
#Ribalda Plugins
logger -t $0 "Exporting Ribalda plugins"
cd /tmp
rm -fr ribalda-umsp-plugins-ribalda*
wget --no-check-certificate https://github.com/ribalda/umsp-plugins-ribalda/zipball/master && unzip ribalda-umsp-plugins-ribalda-*zip && cp ribalda-umsp-plugins*/*php /tmp/umsp-plugins/ && rm -fr ribalda-umsp-plugins-ribalda*
fi
fi
exit 0
fi
sleep 5
done
- Guardais los cambios y desconectais de la corriente.
De esta forma descargará cada vez que reinicieis de la corriente los plugins de pelis y series y los de radio.
La próxima vez que salga un plugin y esté en uno de los dos repositorios, con desconectar de la corriente ya lo tendreis instalado, solo hace falta activarlo, así de simple. Y por favor, leed un poco que todo lo que preguntais está ya explicado. Sin acritud.
Un saludo
Lo resubo, para los despistados como yo, a ver si en la WIKI podeis remarcar esto.
GRACIAS!
Actualizada Wiki
Realmente del umsp-svn-spanish que citas hay que quitar las lineas de los restricted plugins .... bueno en la Wiki esta explicado
Siento hacerlo, pero: ¿me podéis mandar un privado con la dichosa key? No acabo de verlo con el ubuntu
http://_IP_de_tu_wdtvlive/addons/config/index.php?wecpage=6&noMenu=1
http://_IP_de_tu_wdtvlive/plugins/umsp/plugins/rtve/config.php
soymicmic escribió:Ah! Para configurar / activar RTVE no me funcionay lo hago por:http://_IP_de_tu_wdtvlive/addons/config/index.php?wecpage=6&noMenu=1
¿¿diferencias entre uno y otro??http://_IP_de_tu_wdtvlive/plugins/umsp/plugins/rtve/config.php
mmt escribió:soymicmic escribió:Ah! Para configurar / activar RTVE no me funcionay lo hago por:http://_IP_de_tu_wdtvlive/addons/config/index.php?wecpage=6&noMenu=1
¿¿diferencias entre uno y otro??http://_IP_de_tu_wdtvlive/plugins/umsp/plugins/rtve/config.php
Deberia hacer lo mismo. Supongo que no debes tener la ultima v. firm b-rad ( 0.4.5.3 )
el-reza escribió:Hola, he metido la pata ya que he eliminado 3 plugins de activados... Bueno realmente queria eliminar 2 que no tenian caratula pero el Optical Drive Manager creo que si tenia caratula por lo que me gustaria meterlo donde estaba pero es que no estoy seguro si este plugin tenia o no caratula.... Otra cosa, donde deberia colocar el plugin de apple-Trailers por que ahora me falta una carpeta pa tener la pantalla al completo de plugins , tengo en este orden: Apple-Trailers, Favoritos, Internet TV, Peliculas, Series, Documentales, Mas, Radio, Audio Relatos de Terror asi que me falta una carpeta pa tener la pantalla al completo y el de la apple donde lo coloco por que el primer como q no queda na bien...
Gracias
EDITO: El de shoutcast no se que pasa que me dice que no hay archivos de medios y he visto que en tmp/umsp-plugins hay 2, shoutcast y shoutcast-proxy, he probado con los 2 y me sale que no hay archivos... Algun identificador pa este plugin??
sombragris escribió:Os comento...
Estaba haciendo un pequeño programa en C para realizar pruebas de plugins mixtos entre C y PHP. Cómo no se si me dará tiempo a proseguir con ell proyecto os dejo el código que tengo hasta el momento (Que no es mucho) para quién quiera proseguir con algun proyecto similar.
Lo que hay hasta el momento es la funcion decrypt (De megavideo) pasada a C./*
(C) 2011 sombragris.
This application is designed for Zoster's USMP server which runs (amongst others)
inside the EM7075 and DTS variant.
This code is GPL licensed. Please read it here: http://www.gnu.org/licenses/gpl.html
In addtion to section 7 of the GPL terms, there is one additional term :
G) You must keep this header intact when you intend to release modified copies of the program.
Thank you, and enjoy this plugin.
*/
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
char * hexchar2bin(char c)
{
int i = -1;
char buffer[ 4 ];
char *padded = (char *)malloc(5);
if( (c >= '0') && (c <= '9') ) {
i = (c - '0');
} else if( (c >= 'a') && (c <='f') ) {
i = (c - 'a' + 10);
} else if( (c >= 'A') && (c <='F') ) {
i = (c - 'A' + 10);
}
if( i > -1 ) {
itoa(i, buffer, 2);
// Pad
memset(padded, '0', 4);
strcpy(padded + (4 - strlen(buffer)), buffer);
}
return padded;
}
void BinToHex(char * BinData, char * HexData)
{
int Number = 0;
int BinLength = strlen(BinData)/4;
int i;
int j;
char HexNum[2];
for(i=0; i<BinLength; i++)
{
//#define FirstDigit 48
//Number += ((BinData[BinLength - i - 1] - FirstDigit) * pow(2, i));
//Number += ((BinData[BinLength - i - 1] - 48) * pow(2, i));
Number = 0;
for(j=0;j<4;j++) {
Number += (BinData[(i*4)+j] - '0') * pow(2, 3-j);
}
ltoa(Number, HexNum, 16);
strcpy(HexData+i, HexNum);
}
}
char * decrypt(char * str, long int key1, long int key2)
{
long int reg6[384];
long int i;
char tchar;
char * hexhash = (char *)malloc( sizeof(char) * strlen(str) );
char * binhash = (char *)malloc( sizeof(char) * 4 * strlen(str) );
char * binary;
for(i = 0; i < strlen(str); i++) {
binary = hexchar2bin(str[i]);
strcpy(binhash + (4 * i), binary);
}
free(binary);
for(i = 0; i < 384; i++)
{
key1 = (key1 * 11 + 77213) % 81371;
key2 = (key2 * 17 + 92717) % 192811;
reg6[i] = (key1 + key2) % 128;
}
for(i = 256; i >= 0; i--)
{
tchar = binhash[ reg6[i] ];
binhash[ reg6[i] ] = binhash[ i % 128 ];
binhash[ i % 128 ] = tchar;
}
for(i = 0; i < 128; i++)
{
binhash[i] = binhash[i] ^ (reg6[i+256] & 1);
}
// Solo me queda convertir la cadena a hexadecimal
BinToHex(binhash, hexhash);
free(binhash);
return hexhash;
}
int main()
{
char * hash;
// Datos del video de pruebas
hash = decrypt("880658158e23afff495c37ab50a66fbc", 3277, 96640);
printf("Result: %s\n", hash);
return 0;
}
No sé si estará muy limpia, pero bueno... Los datos del video están en codigo... Si arreglais el paso de parametros se podría usar en las funciones decrypt de los plugins.
Bueno, a lo que iba... Mi idea original era meterle el libCURL para descargar tambien la página donde aparece el XML con estos datos, y añadir una funcion para que lea el archivo de configuración del aparato. Con esos añadidos, y proporcionando como salida un array JSON el ejecutable podría reemplazar los PHP con funciones para Megavideo (Aunque sería necesario ver cuando ocupa el ejecutable y si se gana velocidad)...
De todas formas la idea real sería implementar un proxy completo de megavideo... Es decir, le pasamos el identificador del video y el programa inicia la descarga (en memoria) del video en cuestion.
¿Porqué crear un proxy?
Las aplicaciones no cuentan con el límite de tiempo con el que cuentan los scripts en PHP y, por lo tanto, podríamos hacer que el plugin en PHP envie como localizacion del video la IP local con el puerto en el que hayamos configurado el proxy. El proxy, internamente podría contener un pequeño buffer e incluso, de tenEr un disco duro pinchado al aparato, utilizar ese disco para aumentar su buffer interno. Vamos los pasos serían:
- El proxy, actuando como servidor HTTP recibe la peticion.
- En funcion de la configuracion (si somos premium o no) localiza la URL del video y se conecta a ella.
- Si tenemos un discoduro pinchado en el equipo el proxy empieza a descargar el video al disco duro.
- Cuando el archivo alcanza el tamaño deseado (Buffer minimo) empieza a sacar el video que tenemos en disco hacia el puerto al que se ha conectado el plugin.
- Si no tuviesemos disco duro el proxy simplemente sacaría el video directamente al puerto del plugin (Salvo que a alguien se le ocurra otra forma).
De esta forma, si tenemos una conexión lenta podríamos ver peliculas/series sin demasiados problemas... Es mas, en función de la velocidad de descarga se podría hacer que el buffer cambie de tamaño (siempre respetando el mínimo). El proxy SOLO debe permitir una conexion simultanea en el puerto del plugin: es decir, si se nos ha olvidado cerrar la conexion, o algo ha fallado, al detectar un nuevo intento de conexion debería cerrar la sesion anterior y crear una nueva.
Mi gran duda es: ¿Cuanto ocuparía el ejecutable? ¿Sería rentable por espacio?
Lastima no disponer de suficiente tiempo para probarlo, pero ojala alguien se anime a hacer la prueba o por lo menos avanzarlo un poco mas.
Saludos
Unai escribió:¿donde comprar este reproductor online y cual es su precio ideal?
Danilo Thann escribió:Desde que sin querer se me reinicio de fábrica el WD LIVE, no puedo ver nada en YOUTUBE, y eso que le tengo puesto eso de HDswitcher, pa mi que es la key q se me borro o almacenó mal... Mire el wiki, y copié la key que hay en config creo q era, pero aún así no me funka, ningún VIDEO!!! Me pone q no está disponible. ¿Cómo se hacía para volverlo a ver? copio otra key?
GRACIAS!
jotaveve escribió:Hola, mil gracias a todos los que colaboran con nuestros cacharritos, pueden impplementar esta web somosmovies.com ya que la vi interesante.
Saludos y gracias otra vez
Kuein escribió:Y por último, tras agregar los plugins de Mis Películas, la web que ofrece una seccion de películas en HD (Sofa Cine), me muestra todas las películas, pero siempre que selecciono digamos una carpeta donde deben aparecer los links, me dice que no hay medios.
Sobre lo de no hay medios, puede ser que los links estén caídos, pero en la web desde el navegador, si me deja verlas.
Muchas gracias a todos por vuestra ayuda y por hacer de este aparato lo que es hoy en día.
el-reza escribió:bin, tengo el ultimo firm no oficial... Que identificador hay que poner en el plgin este que no me va???? oTRcosa, haber cuando entro en umsp dentro del live me salen 7 carpetas con iconos y me falta una para llenar la pantalla de la tv, alguna sugerencia para meter alguna carpeta con caqratula????
P.D. Bin pero que identificador usas con ese plugin que a mi no me va??? Es que siempre me ha ido solo hasta que lo elimine pa meterlo en la carpeta + asi que seguro que es por que algo no escribo bien en el identificador
Draghann escribió:jotaveve escribió:Hola, mil gracias a todos los que colaboran con nuestros cacharritos, pueden impplementar esta web somosmovies.com ya que la vi interesante.
Saludos y gracias otra vez
Ok. Le echaré un vistazo a ver qué se puede hacer...
Un saludo.
el-reza escribió:Ehhh chicos haber si me podeis ayudar ya que en el tema de compatibilidad de plugins y firms ando perdidisimo... He metido el osdmodlive 25 por lo que cuando voy a ver que firm tengo esto es lo que me pone: 1.04.17_V-osdMODLive-0.25 y el caso es que el menu y iconos estan cojonudos pero lo mas importante ha desaparecido que es el UMSP por lo que no me salen los plugins.... En este mod se pueden meter los plugins o me tengo que volver a la version de firm 0.4.5.3???? Es que lo mas importante son los plugins y aunque el menu sea un poquito mas cutre que el de este osdmod para mi sin plugins el live pierde toda su gracia asi que de momento he dejado esa version por si existe la posibilidad de meter los plugins... En cuanto me deis una respuesta si no se puede vuelvo a la 0.4.5.3
Muchas gracias