Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-11-2005
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Unhappy Media Player y AVIs "camaralentos"

Hola soy nuevo en Delphi y en el foro, vengo trabajando con la
versión 7, mi siguiente pregunta como Novato se relaciona con el
archivo AVI y MediaPlayer.

He colocado en la propiedad FileName un archivo AVI cualquiera que
pesa entre 8 y 10 MB y Delphi NO ME ACEPTA, luego el mismo Video lo
he comprimido con VirtualDub (opción: Save Old Format AVI) y solo
así me funciona, pero el AVI creció entre 70 y 90 MB y
perdió calidad ¿será por lo de "Save Old Format"?.

Cuando hago correr el AVI (comprimido) con el Reproductor de
Windows, aunque la COMPRENSIÓN con VirtualDub fue un éxito la
imagen no es buena, es decir DE BAJA CALIDAD, pero Funciona!. En
cambio al hacer correr con Delphi me muestra MOVIMIENTOS LENTOS cual
si fueran pausados o con una especie de hipo o "camaralenta". Estoy
con una Pentium IV de 3 GHz y RAM 512, ¿a que se debe todo ello,
que propiedad estoy manejando mal del Mediaplayer?

Mis preguntas:
-¿Que tipo de AVIs soporta Delphi? y ¿que codecs son COMPATIBLES?
-¿Cuales son los programas (un par de ejemplos) que mejor
compriman un AVI y los pueda recuperar en Delphi?
-¿Como puedo ver mis AVIs en Delphi CON muy BUENA CALIDAD Y de
manera que no sean lentos o camaralentas?

En VirtualDub por ejemplo cuando selecciono la opción: "Video
Compression" me sale como unos 15 tipos de codecs ¿como guiarme
CON CUAL debo comprimir para recuperarlo en Delphi? ¿acaso debo
conformarme a mostrar un Programa hecho con Delphi con AVIs de baja
calidad y "camaralentas"?
Gracias.
Responder Con Cita
  #2  
Antiguo 05-01-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Unhappy Delphi es bueno para los AVIs?

Hola,
He colocado en la propiedad FileName de un TMediaPlayer un archivo AVI cualquiera que pesaba entre 8 y 10 MB y NO ME ACEPTA, es decir al Compilar y Correr el programa sale un mensaje de ERROR (debe ser por el formato, pienso), luego el mismo Video lo he comprimido con VirtualDub (opción: Save Old Format AVI) y solo así me funciona, pero el AVI creció entre 70 y 90 MB y perdió calidad, ¿será por lo de "Save Old Format"?.

Cuando hago correr el AVI con el Reproductor de Windows, aunque esta COMPRENSIÓN (Yo no la llamaría Comprimida, sino que Extendida "Crecida") con VirtualDub fue un éxito la imagen no es buena, es decir DE BAJA CALIDAD, pero Funciona!!. En cambio al hacer correr con Delphi el "Extendido" me muestra MOVIMIENTOS LENTOS cual si fueran pausados o con una especie de hipo "camaralenta". Estoy con una Pentium IV de 3 GHz y RAM 512 Video 32 MB, ¿a que se debe todo ello?
Mis preguntas:

1.- ¿Que tipo de AVIs soporta Delphi? y ¿que codecs son COMPATIBLES?
2.- ¿Como puedo ver mis AVIs en Delphi CON muy BUENA CALIDAD Y de manera que no sean "camaralentos"?
3.- ¿Cuales son los programas Compresores de Video (un par de ejemplos) que mejor compriman un AVI y los pueda recuperar y trabajar en Delphi?

En VirtualDub por ejemplo cuando selecciono la opción: "Video Compression" me sale como unos 15 tipos de codecs ¿como guiarme CON CUAL debo comprimir para Delphi? ¿Acaso Delphi no tiene la capacidad de mostrar en un Programa realizado por él: un AVI de buena calidad?, cual sería la solución?

Creo que hice muchas preguntas ¿ ?, pero me bastaría para orientarme con la Pregunta 1) y 2) y quizá alguna sugerencia de direcciones donde me pueda informar sobre el Tema.
Gracias.
Responder Con Cita
  #3  
Antiguo 05-01-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si bien lo que te voy a decir, no creo que te solucione tu problema en particular, es bueno que lo sepas: Delphi es un lenguaje multipropósito, no un reproductor multimedia. La pregunta correcta sería si algun control, en tu caso TMediaPlayer, es el adecuado para reproducir tales tipos de archivos.
El TMediaPlayer no es mas que un componente que "wrappea" la MCI (Media Control Interface) de Windows, en este caso no hay código Delphi reproduciendo o decodificando los streams de audio y video, simplemente hay código que le dice a la MCI que hacer y la MCI es quien se encarga de procesar esta info. A riesgo de equivocarme, creo que el MMPlayer de Windows tambien utiliza la MCI, por lo que tendrías que tener resultados similares.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 05-01-2006
Athanatos Athanatos is offline
Miembro
 
Registrado: ago 2005
Posts: 33
Poder: 0
Athanatos Va por buen camino
Si realmente quieres calidad+velocidad tienes que investigar bastante este tema: DirectShow. Olvidate del mci.

El Tmediaplayer practicamente esta deprecado por depender de elementos deprecados del sistema operativo ( para casi todo menos musica que va bien ). Asi que como todo lo que es deprecado generalmente sigue funcionando pero muy lentamente.

Nota: El antiguo MMPlayer que venia con el 95 98 millenium si usaba mci, pero ya no esta presente en xp y fue reemplazado por uno nuevo que se basa en directShow.

P.d. Realmente creias que eso depende "del delphi"? Eso me hace mucha gracia, como algunos comentarios como "y delphi es bueno para graficos?"
Responder Con Cita
  #5  
Antiguo 05-01-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
P.d. Realmente creias que eso depende "del delphi"? Eso me hace mucha gracia, como algunos comentarios como "y delphi es bueno para graficos?"
Pues Athanatos, en este Foro lo fundamental es intercambiar conocimientos de tal manera que el que sabe algo lo pone altruistamente a disposición de los demás, sin que esto sea por supuesto obligatorio, pero al menos ésta es la filosofía que se sigue. Si se comparte algo estupendo, pero creo que debe de ser desde la humildad y sin zaherir a la persona que recibe la supuesta enseñanza.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 05-01-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 20
[Gunman] Va por buen camino
Como bien ha dicho Federico todo lo que puedas reproducir con el Windows Media Player (almenos hasta la versión 9) lo podrás reproducir con el TMediaPlayer, el TMediaPlayer usa la API de Windows (Win32) y por lo tanto, deberías buscar en la ayuda de esta que formatos y codecs de vídeo soporta la MCI. Te aconsejo que busques por la MSDN y por la ayuda que Delphi trae sobre la Win32.
Siento no poder ayudarte más...
__________________
l2prog.co.nr
Responder Con Cita
  #7  
Antiguo 05-01-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 20
[Gunman] Va por buen camino
He estado probando el TMediaPlayer, funciona a la perfección con DivX y Xvid...
De hecho, con el MCI se pueden reproducir todos los codecs que tenga instalados la computadora.
__________________
l2prog.co.nr
Responder Con Cita
  #8  
Antiguo 06-01-2006
Athanatos Athanatos is offline
Miembro
 
Registrado: ago 2005
Posts: 33
Poder: 0
Athanatos Va por buen camino
Probalo de forma que el tamaño de la pelicula NO sea del 100%, 200% o pantalla completa y veras lo lento que va. Para eso esta direct->show y para ver si una aplicacion esta usando directshow prueba con capturar la pantalla, la zona del video quedara en negro o cualquier cosa menos con la imagen del video.

Si el otro formato de video no corre con delphi es problema de configuracion de mci, tienes que mapear el codec a una extension. Y para que veas lo antiguo que es en windows 98 tienes que mapear la extension .mp3 al codec para que lo reproduzca (en win.ini) (si no tienes instalado una version actual del media player) o cambiarle la extension de .mp3 a .mpg. En xp no necesitas hacer eso para el mp3 pero seguramente es la razon por la que tu .avi no es reproducido, intenta cambiarle la extension a .mpg o modificar el win.ini.

El mci maneja unas constantes para saber que tipo de codec o grupo de codecs utilizara para un determinado tipo de extension. Intenta fijar esto manualmente ya que viene en automatico de forma predefinida. Seguramente la constante del codec puede que no este definida en delphi, pero bastara con que investigues cual corresponde y definirlo en tu programa para no tener el lio de configurar el win.ini

Esta es una version de solo reproduccion del original y no tiene problemas con la extension .mp3 en win98 ni en xp.

En el codigo del Tmediaplayer tienes que modificar esto:

Al momento de agregar la constante que te falta tienes que sincronizar: (constantes de mci)

DeviceName: array[TMPDeviceTypes] of PChar = ('', 'AVIVideo', 'CDAudio', 'Sequencer',
'WaveAudio','MPEGVideo2','MPEGVideo');

Con:

TMPDeviceTypes = (dtAutoSelect, dtAVIVideo, dtCDAudio, dtSequencer, dtWaveAudio,dtMP3Music,dtMPEGVideo);

Aqui va definida la parte de las constantes en cadena:

Código:
{***** MCI Commands *****}

procedure TMediaPlayer.Open;
const
  DeviceName: array[TMPDeviceTypes] of PChar = ('', 'AVIVideo', 'CDAudio', 'Sequencer',
    'WaveAudio','MPEGVideo2','MPEGVideo');

Última edición por Athanatos fecha: 06-01-2006 a las 21:34:56.
Responder Con Cita
  #9  
Antiguo 07-01-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Wink No soy Informático de formación, soy Químico

Gracias a todos,
Sinceramente estoy muy contento con el Foro esta pregunta la hice ya hace 3 meses atrás en otros foros, las respuestas no fueron convincentes o en algunas simplemente callaron, es ahora que tengo mucha mas confianza en el Foro ya que hay muchos participantes y gente que responde con conocimientos sólidos y me sacan de la duda.

Quiero aclarar por favor al foro que no soy ni Programador en Sistemas ni Informático, esto relacionado a los comentarios en diferentes hilos como
Cita:
Empezado por CasimiroNotevi
a mi me parpadean los ojos al ver ese código
o en este
Cita:
Empezado por Athanatos
P.d. Realmente creias que eso depende "del delphi"? Eso me hace mucha gracia, como algunos comentarios como "y delphi es bueno para graficos?
y a veces hago preguntas tan estúpidas (obvio) para los que tienen mayor conocimiento en el campo. Tengo como formación profesional otra carrera totalmente distinta a lo que es la Informática: Química, pero como muchos dicen nunca es tarde para aprender verdad?, y el poco tiempo que dispongo debido a mi trabajo en mi campo no me permite siquiera tomar cursos de Informática. Delphi lo voy aprendiendo en Internet (autodidactamente) a través de la investigación en distintas páginas y con conocimientos mínimos de Pascal y con ayuda de los Foros, redundo no es tarde para aprender y me llevo unos minutos o algunas horas (cuando tengo tiempo) de averiguar o participar en los foros con preguntas a mis dudas. Yo programa (intento) cuando es necesario, cuando hay tiempo, o cuando se me ocurre algo, más me inclino como un Hobby.
En lo personal estoy muy agradecido a todos los que responden a mis preguntas. Y espero sigan comprendiendo mis futuras preguntas torpes de nuevos hilos por las razones que les explico, pues yo empiezo a programar solamente cuando veo necesario para mi o algo interesante para crear alguna Aplicación.

Yendo al tema, verán he creado una película de unos segundos en formato AVI con Magix Video Deluxe para mostrarlo en mi Aplicación después del Splash Screen en un formulario pequeño (algo así como una presentación), y de ahí nació mis dudas como en un principio les mencioné, voy a investigar lo del MCI y DirectShow, además me quedó claro que no depende de Delphi. Me recomendaron en alguna parte que lo realice con Flash, no se si sería lo correcto, aunque me empeciné de presentar un AVI con un códec compatible en Delphi 7 y ver esa película de unos segundos. Alguna sugerencia?
Un saludo

Última edición por Deiv fecha: 02-11-2008 a las 15:35:55.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:50:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi