Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Desarrollo De Encoder Para Mpeg-1 Video

Iniciado por Xpctro, 17 de Febrero de 2004, 09:54:41 PM

« anterior - próximo »

Xpctro

 Hola a tod@s :D

Para un proyecto que estoy desarrollando necesito un encoder de video MPEG-1 para poder hacer streaming de video. El caso es que es un apartado con el que no he trabajado, asi que me encuentro un poco pez :huh:
He estado echandole el ojo a algunas web con descripciones del formato, aunque me he quedado casi como estaba :blink: y tampoco encuentro ningun encoder para Win32 libre que pueda integrar en mi aplicacion (nooo)
¿Alguien me puede echar una manita?

Gracias a todos,
Xpctro  ;)

seryu

 tu aplicacion exactamente que es? una en net framework, mfc, fullscreen con directx, o quizas sdl? de esta ultima conozco una libreria adicional para reproducir mpeg, que puedes ver desde su pagina www.libsdl.org

Ithaqua

 Echale un ojo a las rutinas de video for windows (vfw.h si no recuerdo mal).
El api es increiblemente sencillo y funciona con los codecs que haya instalados (divx, xvid etc...)
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Xpctro

 Gracias a todos por vuestras respuestas  :D

La aplicacion captura de una webcam y hace streaming de lo capturado a un puerto para que accedan los clientes al contenido de la webcam. Esta escrita en C++ usando el API de Windows , sin mfc.
¿Podeis indicarme algun sitio donde encontrar doc sobre compresion de video, que sean entendibles (no tengo muchos conocimientos en video)?
Las rutinas de Video For Windows las estoy usando para la captura de la webcam, pero no he mirado las rutinas de compresion de video. ¿Donde se pueden obtener codecs para Video For Windows?

Hasta luego,
Xpctro
;)  

Ithaqua

 Con tal de que te bajes los típicos codecs XVID o DIVX vale, no solo traen los codecs para descomprimir sino también para comprimir (se instalan ambos).

Echale un vistazo a:

AVIFileOpen()                             <- Abrir un fichero.avi para escritura
AVIFileCreateStream()                <- Crear un stream, devuelve handles.
AVISaveOptions()                       <- Muestra un cuadro de diálogo de opciones :)
AVIMakeCompressedStream()   <- Crea el stream comprimido, con las opciones anteriores.
AVIStreamSetFormat()               <- Establecer formato
AVIStreamClose()                       <- Cerrar stream
AVIFileClose()                            <- Cerrar fichero

Luego por cada frame a:

AVIStreamWrite()                      <- Salva un frame al fichero avi


No necesitas saber nada de compresión de vídeo. El único código que uso que requiere unas cuantas líneas (20 como mucho?) es el de obtener el contenido de la ventana y transformarlo a un HBITMAP (para aplicarle un GlobalLock y usar AVIStreamWrite para salvarlo), ya que yo lo uso para pasar las cosas que programo a AVI.
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Ithaqua

 Ah, y xvid y divx los dije porque te dan la máxima calidad. Por defecto windows ya viene con determinados encoders instalados.
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Xpctro

 Ok, gracias por la info  :D

El tema de los codecs lo digo por que estoy obligado a utilizar compresion MPEG-1 Video ¿donde obtengo ese codec? :)
Gracias

seryu

 qe sepa los formatos mpeg no son libres y por tanto es un poco chungo el usarlos..

Igual este codec freeware te sirve http://www.motiwala.com/ympeg.htm


Xpctro

 Gracias a todos por vuestras respuestas   (ole)
revisare lo que me habeis comentado y a ver que tal.  :D

Hasta luego,
Xpctro  ;)  






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.