(Por fin escribo un post tecnológico/informático!)
Geexbox es un excelente media center de código abierto basado en linux(ucLinux, actually) y mplayer.
Lo he modificado ligeramente para corregir algunos detalles de funcionalidad de mplayer:
1) Normalización automática de aspecto.
2) Expansión automática de los cuadros de la imagen, lo que permite ubicar los subtítulos en las bandas negras de la pantalla, en el caso de películas en formato wide o cinerama que sean reproducidas en una pantalla 4:3(que suele ser lo usual).
3) Habiltación de post-procesado(h deblock, v deblock, dering, auto luminance). Sólo para hardware poderoso.
4) Agregado de filtro eq2 a la cadena de video filters, lo que permite modificar brillo, contraste y color(y teóricamente también gamma) por software.
También he preparado una versión con el excelente driver vidix de consola para placas nvidia (cvidix, vid_nvidia.so) habilitado, lo que permite una mayor performance y poder modificar brillo y contraste sin necesidad de usar eq2.
El problema de este driver es que es actualmente relativamente inestable, la pantalla se vuelve negra durante la reproducción.
Haciendo pruebas con una placa GForce FX5200 AGP y un mother MSI PM8M-V he detectado que la reproducción parece estabilizarse deshabilitando las siguientes opciones del Bios:
‘Advanced Chipset Features’ -> ‘On Board VGA Control’ -> ‘AGP 3.0 Calibration cycle’ [Disabled]
‘Advanced Chipset Features’ -> ‘On Board VGA Control’ -> ‘Direct Frame Buffer’ [Disabled]
Con el resto de las opciones de la página en [Enabled] o [Auto]
A continuación los parches para mplayer-1.0-rc1, el iso de geexbox con eq2 y el parche binario para armar el iso con cvidix habilitado.
Parches:
Normalización de aspecto:
Autoexpand:
Modificaciones a mplayer.conf (paquete geexbox-generator-1.0):
He corregido algunos bugs relacionados a la salida de video vesa y cvidix, y agregado código para habilitar eq2 solo cuando correponda(paquete geexbox-generator-1.0):
Isos:
geexbox-1.0-maurol.com.ar-en-pp-auto_expand-aspect_normalizing-eq2.i386.iso
geexbox-1.0-maurol.com.ar-en-pp-auto_expand-aspect_normalizing-cvidix.i386.bsdiff (Generar el iso usando bspatch)
TODO:
- Corregir separación entre líneas de subtítulos.
- Habilitar lirc para mi control remoto.
- Agregar opciones para diferentes ‘Monitor Aspect …’ incluyendo ‘Custom Monitor Aspect’ al menú de aspecto.
- Parche para cambiar la relación de aspecto dinámicamente en mplayer.
- …
Muchas gracias Mauro por estas modificaciones que le faltaban al Geexbox te pasaste con esto.. ahora lo estoy descargando y vamos a probarlo =)
Muy interesante. ¿Has mandado parches de esto para el subversion de mplayer? Sería muy interesante tener esas mejoras en la rama oficial.
Hola, gracias por tu comentario. Con respecto a enviar los parches, pensaba hacerlo, y ahora que lo dices, lo haré en estos días.
hola vi que modificaste el Geexbox , yo estoy en lo mismo para poder reproducir divx y dvd si es que le da el poder a la pc vieja que tengo, es un k6-2 overclockeado a 550 MHZ con 312 mb de ram y una placa de video PCI TNT2 con 32 mb de ram , puse esa por que la AGP onboard es un asco , me salio buen dinero ya que son dificiles de conseguir las PCI ya que el motherboard no tiene agp….
Bien , yo hice con el generador de imagenes una iso con 16bpp y 640×480 y asi logro ver aceptablemente los divx.. el tema es que apenas carga un subtitulo la pantalla se queda negra, mientras deshabilite el sub o la peli no lo tenga corre bien pero cuando aparece O queres adelantar la pelicula esta se pone en negro , sigue corriendo de fondo bien pero no da imagen , solo video.
estoy desesperado ya que gaste dinero en la placa pci para darle uso a la vieja pc y ahora no corre como yo quiero.
si me podes ayudar a modificar o decirme como … el geexbox para que ahorre recursos y o sacar ese BUG que deja la pantalla negra…
Lo de ver DVD cabecea mucho pero supongo que sacando algo podria , por ej no se si se puede bajar el sonido de stereo a mono , o modificar el bitrate del dvd que se reproduce por que no le da por un pelo.
Saludos agradesco en serio tu ayuda.
Hola, a mi me pasó lo de la pantalla negra pero sucedía aleatoriamente, y solo teniendo habilitado el driver cvidix con una placa Nvidia AGP. Lo solucioné como indico en el comentario principal, deshabilitando algunas opciones del Bios relacionadas a Agp.
Al armar el iso, asegurate de tener deshabilitado el driver cvidix. Para ello, debe existir un archivo llamado no_nvidia_vidix bajo /etc/mplayer del árbol de directorios del geexbox-generator.
Probá también con el nuevo release 1.1 de geexbox-generator, por ahí es un bug de mplayer relacionado a tu hardware que está solucionado en el nuevo release.
http://www.geexbox.org/releases/1.1-rc2/geexbox-generator-1.1-rc2.i386.tar.gz
Seguramente es un bug de mplayer… probablemente relacionado a tu hardware. Probá también consultando en la lista de usuarios de mplayer.
Bueno. For completeness’s sake:
Mandé los parches a la lista mplayer-dev-eng, y fueron recibidos con relativa indiferencia.
El parche de normalización de aspecto fue directamente ignorado, muy probablemente por lo siguiente: parece no haber algo así como un ‘aspecto normal’ :-/. Buscando en internet, el aspecto en que son lanzadas las películas es altamente variable… los releases en DVD suelen ser con aspecto 1.85(?), y hay películas que son lanzadas en diferentes ocasiones con diferentes relaciones de aspecto.
Un caso notable al respecto es ‘Yellow submarine‘, que fue lanzado con 4 relaciones de aspecto diferentes; y que no puede conseguirse actualmente en DVD en su relación de aspecto original(aunque sí aquí {torrent link} (transfer de LaserDisc. Ver http://thepiratebay.org/tor/3547041/Beatles_Yellow_Submarine_US_LaserDisc_Transfer_4_3_Ratio_NTSC)
Para complicar más el tema, el video anamórfico (que no debe ser confundido con anamórfico widescreen) parece tener relación 2.39, no 2.35. O mejor dicho, se entiende como anamórfica cualquier relación de aspecto que sea 2.35, 2.39 o 2.40, aunque en realidad es altamente probable que sea 2.39 :-/
Por lo tanto: antes de ver una película en formato DivX, habría que consultar en internet cuál es el aspecto de los diferentes lanzamientos, y probar hasta encontrar la relación de aspecto que coincida con la copia que tenemos… Me pregunto si se puede llegar a automatizar relativamente este proceso, en base al nombre del archivo de la película… un flag tipo ‘lookforaspect’ para mplayer, más otro ‘autocicleaspect’, o algo asi(con algún tipo de confirmación del aspecto adecuado por parte del espectador).
Terminando con el tema del aspecto… mi parche de normalización supone que la relación de aspecto en que fue lanzado el archivo de la película en formato DivX es el más cercano al aspecto “normal” correspondiente, pero éste no es necesariamente siempre el caso. Por ejemplo, la película ‘A Bronx tale‘ se encuentra en edonkey {ed2k link} con una relación de aspecto 2.47 y monedas (672/272) que normalizada por mi parche pasaría a ser cinerama(2.35, (o mejor, 2.39 ;-/) , cuando en realidad el release original es 4:3 ó 1.85. (Damn!) shame on the releaser of the DivX version (and shame also on the releases of the movie industry.)
Con respecto al parche de autoexpand, fue rechazado porque la misma funcionalidad puede obtenerse especificando
-vf expand=:::::4/3 que expande automáticamente a una relación 4:3 (o sea, esta opción hace exactamente lo mismo que mi parche. Probablemente una opción reciente(mplayer v1.0) pues no la había visto en la documentación anteriormente.)
Aquí, como adición sería deseable que, de indicarse -vf expand=:::::-1, por ejemplo, mplayer asuma automáticamente el valor de ‘monitoraspect’, para hacer el autoexpand a ese valor. Voy a ver si lo implemento y publico el parche, así aporto algo útil
Probablemente libere un nuevo iso de geexbox con estos cambios en un tiempo, más el agregado de un menu de monitoraspects a geexbox, con una opción de custom monitor aspect, y la posibilidad de cambiar/ciclar el aspecto de la película en tiempo de reproducción con una combinación de teclas.
Toque delirante y futurista: un “parche” que detecte las cabezas (humanas) en la imagen, y vaya ajustando automática y dinámicamente la relación de aspecto, basándose en una ‘cabeza normal’ humana. Podría ir promediando las cabezas que vayan apareciendo, y ajustando dinámicamente la relación de aspecto en base al promedio y los datos de la cabeza normal (que podrían ser especificados/customizados por línea de comandos). No quiero pensar lo que pasaría cuando viésemos Madagascar o algo por el estilo con esa opción habilitada
Hola. Seria bueno que explicaras como hacer andar el control remoto. Yo uso uno en Windows con el Winlirc y me funciona de maravillas, pero no se que pasos seguir para hacerlo andar con Geexbox, lei atentamente el manual, pero igual no esta explicado a fondo. Te lo agradeceria. Saludos.
Hola, en principio tenés que generar un archivo de lircd para tu control remoto, llamado lircd.conf, agregarlo al árbol de directorios de geexbox-generator, y armar la imagen iso.
Para armar lircd.conf tenés dos opciones, buscar un archivo ya armado para tu control remoto(fijate en los paquetes de lirc, bajo
/usr/share/doc/lirc/remotes/) o sino armarte el tuyo, correspondiente a tu control remoto, utilizando los comando mode2(para probar la recepción) e irrecord(para generar el archivo).
Nunca configuré lirc con geexbox, así que puede haber pasos adicionales… más detalles cuando arme el nuevo iso custom de geexbox, usando geexbox-generator-1.1, y agregándole algunas de las modificaciones que menciono arriba.
A propósito de lirc: armé mi propio receptor casero de infrarrojos, siguiendo estas sencillas instrucciones.
Mauro
Hola Mauro, estare atento, y me vendria de diez un tutorial para configurar el C. remoto. Yo uso ese receptor, lo tengo desde hace unos 4 años, funciona muy bien, sobre todo si tenes una maquina rapida, es facil de armar y lo unico que me costo un poco conseguir es el receptor infrarojo(TSOP 1738), los demas componentes valen 2 mangos. Algo que no te comente es que no uso Linux, asi que deberia configurar todo bajo win. Una peticion mas, como hago para configurar la resolucion de pantalla, tengo un monitor de 20 pulgadas, widescreen, que tiene una resolucion de 1680×1050 y aparentemente no es soportada por GeexBox. Saludos.
Bueno, configuré mi control remoto en geexbox. Es muy sencillo con el nuevo geexbox-generator-1.1, ya que viene con opciones de la línea de comandos del arranque, donde se puede especificar remote=modelo, y receiver=modelo (típicamente, ‘homemade’).
El paquete geexbox-generator-1.1 ahora ya no trae los fuentes, sino que trae todo precompilado, y viene con un configurador. Este configurador corre además bajo windows, así que podrías armar el iso custom en windows.
En mi caso el modelo del remoto no estaba en la lista, así que tuve que agregar los archivos lircd_MODELO.conf y lircrc_MODELO.conf al directorio lirc/ para poder elegirlo. Modifiqué además el script init.d/48_lirc para que en caso que no se especifiquen las opciones en el arranque, tome como valores por defecto los correspondientes a mi remoto y receptor(es conveniente para no tener que tipearlo cada vez.)
Con respecto a la resolución y aspecto de la pantalla, podés setear los valores manualmente editando el archivo /etc/tvout. Aunque está pensado para TV-Out, tambien funciona para la resolución y el aspecto del monitor.
Como tuve unos problemas de ‘flicker’ o parpadeo usando el modo vesa con mi placa nvidia, tuve que configurar como modo de video out vesa:nodga. Para ello (y para habilitar eq2 y el nuevo modo de autoexpand) lo mejor es modificar /etc/init.d/74_mpvideo y /etc/mplayer/mplayer.conf.
Adjunto los archivos modificados:
tvout
mplayer.conf
74_mp-video
48_lirc (modificarlo de acuerdo al modelo del control remoto que se tenga)
Para habilitar la inestable cvidix, lo único que hay que hacer es renombrar o borrar etc/mplayer/no_nvidia_vidix bajo el árbol del iso, antes de generar el nuevo iso custom.
Acá está entonces el nuevo iso custom de geexbox-1.1 con estas modificaciones (eq2, autoexpand, post-processing, y cvidix deshabilitado pues sigue siendo inestable.)
geexbox-1.1-rc2-maurol.com.ar-en-pp-autoexpand-eq2.iso
[...] Para más detalles, ver este comentario. [...]
Hola, vi sus comentarios y no sé si me puedan ayudar, tengo una videoteca en mi PC en formato .iso, asi puedo ver mis películas en cualquier lado de la casa ya que tenemos una pc como centro multimedia con geexbox en cada tele, pero el problema es cuando quiero ver una película (.iso) con subtítulos, no aparecen le doy a la tecla “W” y me indica que en efecto si cambió el subtítulo pero no lo muestra en la pantalla.
Curioso. No entiendo por qué guarda las películas en formato .iso.
Supongo que Ud. monta la imagen iso antes de reproducir la película…
Con respecto a los subtítulos, probablemente tenga que presionar
“v”(habilitar subtítulos) luego de cargarlos con “w”.
Hola, tengo unos problemas con la instalacion de GeeXboX les comento:
El tema es que la instalación se completa perfectamente. Cuando reinicia muestra la carga de GeeXboX hasta el final y luego queda la pantalla negra, es decir no aparece el menu del sistema. Iniciando desde el CD tambien hace lo mismo. Lo probe en una PC mas nuevita y arranca perfecto, asi que me estoy volando los pelos para en contrar el problema, si se les ocurre algo comenten, gracias. Ah en la misma PC pude instalar y correr aunque un poco lenteja Windows XP UE7.
MICRO: Intel Pentium II-233MHz socket 1
MB: PCCHIPS M747 BX-PRO (2 ISA, 3PCI. 3 DIMM)
CHIPSET: SIS 600
RAM: 128 MB-PC133
HDD: 6GB
Espero que puedan ayudarme gracias, saludos.
Hola,
te conviene bajarte la última versión de geexbox.org.
La versión que está para bajar acá en maurol.com.ar está desactualizada, y además tiene errores en el cálculo de la relación de aspecto automática.
Hola Mauro, gracias por contestar, el tema es que las versiones que tengo son las ultimas, los problemas que tengo son los que publique anteriormente cualquier aporte e podria servir, gracias, saludos.
Pues entonces lo contrario: Te conviene bajar una versión anterior de geexbox, ya que al ser tu hardware muy viejo ya no debe ser compatible con los releases más recientes.
Por otro lado, con una Pentium II y esa placa de vídeo onboard, vas a poder reproducir sólo divx de calidad baja o media.
Te convendría ponerle una placa nvidia o ati compatible con tu hardware(una PCI). Yo he tenido buenos resultados durante años con una PIII 500 y una Nvidia MX-440. Sólo recientemente actualizé mi HTPC para poder ver HD y los nuevos formatos de compresión de vídeo, que requieren mucha capacidad de procesamiento para reproducir.
Hola no se si estas respondiendo todavia pero hago el intento. La pregunta es si puedo comprar algun control remoto para utilizar con GeexBox y si es asi que me recomendarias y si es facil su configuracion? Muchas gracias, saludos.
Hola tixo,
En principio cualquier remoto que funcione sirve, siempre y cuando tengas un receptor de infrarrojos, y programes el archivo de configuración de lirc. Más arriba hay algunas explicaciones al respecto de cómo integrarlo en geexbox.
En http://lirc.org hay muchas opciones de remotos y receptores. Puedes armar tu propio receptor de infrarrojos , por ejemplo usando el puerto serie. Fijate la sección “home-brew” de lirc.org.
Otra opción es usar un receptor integrado, en una placa digitalizadora de TV por ejemplo. En ese caso las señales del remoto generalmente se presentan mediante la interfaz de input/events de linux, en un dispositivo /dev/input/event*. Luego se puede usar un proceso inputlirc para traducir los eventos a lirc, y un proceso irexec con un archivo de configuración .lircrc para asociar teclas con acciones.
O sino, asociar la salida de /dev/input/event* al proceso deseado (mplayer, típicamente) y relacionar las teclas a acciones mediante el mecanismo de input de mplayer o del proceso que corresponda.
Lo bueno de la primera opción es que mediante irexec pueden comandarse varios procesos diferentes.
Te agradezco las respuestas Mauro la idea es armar un htpc con geexbox pero todavia no estoy muy familiarizado con linux asi que iré de a poco, saludos.