Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2007, 09:53
trykenter
 
Fecha de Ingreso: junio-2007
Ubicación: España- Alicante
Mensajes: 18
Antigüedad: 16 años, 10 meses
Puntos: 0
DVD-Video basado en flash no funciona.

Hola amigos: Tengo un dvd bajado de internet comprimido y montado no me funciona el sistema de menús.
El DVD lleva un autorun en el que cuando introduces el disco se autoejecuta la página principal en flash, donde se pueden ver seis episodios de una serie.
El menú principal es en Flash player, los capítulos son en .avi y el nexo que une la selección con el capítulo es un archivo por lotes .bat que lo único que hace es abrir el reproductor, que va incluido en el disco, y seleccionar el capítulo a reproducir. El principio de funcionamiento es muy sencillo y he podido comprobar que cada uno de los procesos funciona de forma aislada perfectamente, puedo ver los cpítulos si los selecciono manualmente y el menu.exe también funciona impecablemante, incluido la acción de los comandos para ejecutar los archivos por lotes. El fallo creo que debe de estar en el conjunto de archivos .bat, pues ya he detectado otro fallo y aunque no soy informática, se algo del tema.
EMPECEMOS CON LOS CONCEPTOS TÉCNICOS
Dejando aparte florituras que no intervienen en el proceso, voy a reseñar exclusivamente los archivos y carpetas del conjunto. El DVD lleva en su directorio raiz los siguientes archivos y carpetas principales. Mis comentarios entre paréntesis.
- Menu.exe (menú principal con las opciones de elección de capítulos)
- Comandos (aquí vienen los archivos bat que hacen de nexo entre la elección del menú en flash y los capítulos)
- Capítulos (aquí están los 6 capítulos en avi)
- BsPlayer (aquí está el reproductor de los capítulos en avi)

Esto es todo lo que hay. No hay subcarpetas ni nada por el estilo.
Fijémonos en el capítulo 1 por ejemplo. En el menu.exe presionamos el número 1 que es trasladado a la carpeta comandos donde está el archivo bat. En el mismo están los comandos siguientes:

@echo off
cd..
cd bsplayer
@start bplay.exe ..\capitulos\"Mazinger-01.avi"

Lo que hace es salir del directorio \comandos y entrar al directorio \bsplayer, donde está el reproductor bplay.exe y ejecuta del directorio \capítulos el capítulo "Mazinger-01.avi".

Aquí se acaba toda la historia, y aquí está todo el problema. Cuando pulso 1 en el menú, me sale la pantalla de cmd.exe (antiguo ms-dos) diciéndome que no encuentra la ruta de bsplayer.

He hecho las siguientes comprobaciones: he deshabilitado las asociaciones de extensiones .avi con ningún programa, ya que tengo un flash player instalado que no quiero que pudiera entrar en conflicto con el que lleva el propio disco.
He probado a emular la orden del bat desde el comando ejecutar. He escrito:

e:\cd1\bsplayer\bplay.exe ..\capitulos\"mazinger-01.avi"

El comando a funcionado perfectamente, es decir, que al ejecutar el equivalente al comando 01.bat que es el correspondiente al primer capítulo, el invento ha funcionado.

Igualmente me ha funcionado si abro el cmd.exe (ms-dos) y llego a través de la ruta al comando 01.bat y todo va perfecto.

Así pues está claro que todo por separado funciona. Ahora le voy a hacer un control al archivos 01.bat, poniéndole un pause entre comando y comando para poder monitorizar toda la ejecución paso por paso. Así pues escribo sólo los comandos fundamentales, sin florituras:

EMPECEMOS CON LOS CONCEPTOS TÉCNICOS
Dejando aparte florituras que no intervienen en el proceso, voy a reseñar exclusivamente los archivos y carpetas del conjunto. El DVD lleva en su directorio raiz los siguientes archivos y carpetas principales. Mis comentarios entre paréntesis.
- Menu.exe (menú principal con las opciones de elección de capítulos)
- Comandos (aquí vienen los archivos bat que hacen de nexo entre la elección del menú en flash y los capítulos)
- Capítulos (aquí están los 6 capítulos en avi)
- BsPlayer (aquí está el reproductor de los capítulos en avi)

Esto es todo lo que hay. No hay subcarpetas ni nada por el estilo.
Fijémonos en el capítulo 1 por ejemplo. En el menu.exe presionamos el número 1 que es trasladado a la carpeta comandos donde está el archivo bat. En el mismo están los comandos siguientes:

dir
pause
cd..
pause
cd bsplayer
pause
@start bplay.exe ..\capitulos\"Mazinger-01.avi"

Nada más hacer la primera pausa, me marca que se enuentra en el directorio raiz, es decir, me da un dir del tipo:
c:\ windows
\Documents an settings
\Archivos de programa
Autoexec.bat
..................... etc.

En otras palabras, el archivo bat, en vez de partir de la carpeta \comandos, parte del directorio raiz, y claro, partiendo de ahí, ¿cómo va a enontrar la carpeta \bsplayer que está un montón de niveles más arriba y además en otra unidad.

He sospechado de las variables de entorno, que aunque no creía que tuvieran nada que ver, aún así les hice copia de seguridad y las borré absolutamente todas. La prueba ha sido infructuosa. No me puedo explicar este anómalo comportamiento del sistema operativo con estos archivos por lotes. Máxime, que con ejecutar... y con los comandos del dos me funciona perfecto.

Pues hasta aquí llego yo, yo no soy informática y no se más de lo aquí expuesto.
Llegados a este punto tengo que hacer notorio un error que he detectado y que en un primer momento me hizo pensar de que podía ser ello la razón del problema.
Y es la línea de comando del archivo bat:

@start bplay.exe ../capitulos/"Mazinger-01.avi"

Si se fija bien uno, puede comprobar que las barras de capítulos y de mazinger-01.avi están al revés. Es decir, están como si fueran archivos de Línux. Esto me da que pensar de que el informático que diseñó el invento no fue muy cuidadoso. Pero no, aun poniendo la barra \ como se ha hecho de toda la vida en windows, me sigue dando ese extraño comportamiento de arrancar la unidad raiz del sistema.

¿Me puedes ayudar en este problema? Te lo agradecería muchísimo, porque yo ya no doy más y probablemente para un experto sea una chorrada. ¡¡Que no lo se!!

Bueno, pues agradecerte la atención prestada y muchas gracias por todo.

Atentamente la chica mala Trykenter.