# Mejor forma de pasar xvid a mpeg (cerrado)

## nandelbosc

Para passar de divx a mpg lo hago asi:

mencoder -of mpeg -oac lavc -ovc lavc -lavcopts vcodec=mpeg1video video.divx.avi -o video.mpg

Pero para pasar un xvid a mpg?

Con el anterior comando me pasa esto:

```

# mencoder -of mpeg -oac lavc -ovc lavc -lavcopts vcodec=mpeg1video video.xvid.avi -o video.mpg

MEncoder dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2006 MPlayer Team

CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 95, Stepping: 2)

CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1

Compiled with runtime CPU detection.

success: format: 0  data: 0x0 - 0x80c2000

AVI file format detected.

VIDEO:  [XVID]  352x288  16bpp  25.000 fps  799.4 kbps (97.6 kbyte/s)

[V] filefmt:3  fourcc:0x44495658  size:352x288  fps:25.00  ftime:=0.0400

==========================================================================

Opening audio decoder: [mp3lib] MPEG layer-2, layer-3

AUDIO: 11025 Hz, 2 ch, s16le, 24.0 kbit/6.80% (ratio: 3000->44100)

Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)

==========================================================================

PACKET SIZE: 2048 bytes, deltascr: 245760

Opening video filter: [expand osd=1]

Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1

==========================================================================

Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family

Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)

==========================================================================

[mp2 @ 0x87e0a60]Sampling rate 11025 is not allowed in mp2

Couldn't open codec mp2, br=224.
```

Gracias!Last edited by nandelbosc on Tue Oct 09, 2007 12:46 pm; edited 2 times in total

----------

## Darksidex25

 *nandelbosc wrote:*   

> Para passar de divx a mpg lo hago asi:
> 
> mencoder -of mpeg -oac lavc -ovc lavc -lavcopts vcodec=mpeg1video video.divx.avi -o video.mpg
> 
> Pero para pasar un xvid a mpg?
> ...

 

La cosa es que a mencoder le da bastante igual si es xvid o divx, aquí el problema está en el audio. (sampling rate 11025 is not allowed in mp2), así que habrá que transformar también el audio  :Wink: 

```
mencoder -of mpeg -oac lavc -ovc lavc -lavcopts vcodec=mpeg1video video.divx.avi -o video.mpg -srate 44100 -af lavcresample=44100
```

Acabo de improvisar la línea, pero prueba a ver así te funciona.

----------

## nandelbosc

Parece ser que funciona!

Gracias!

----------

## nandelbosc

Como veo que soy unos expertos, he aqui otro error...

```
MEncoder dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2006 MPlayer Team

CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 95, Stepping: 2)

CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1

Compiled with runtime CPU detection.

success: format: 0  data: 0x0 - 0x363c800

AVI file format detected.

VIDEO:  [DIV3]  352x240  24bpp  14.985 fps  212.1 kbps (25.9 kbyte/s)

[V] filefmt:3  fourcc:0x33564944  size:352x240  fps:14.98  ftime:=0.0667

==========================================================================

Opening audio decoder: [mp3lib] MPEG layer-2, layer-3

AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)

Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)

==========================================================================

PACKET SIZE: 2048 bytes, deltascr: 245760

Opening video filter: [expand osd=1]

Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1

==========================================================================

Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family

Selected video codec: [ffdivx] vfm: ffmpeg (FFmpeg DivX ;-) (MS MPEG-4 v3))

==========================================================================

Limiting audio preload to 0.4s.

Increasing audio density to 4.

VDec: vo config request - 352 x 240 (preferred colorspace: Planar YV12)

VDec: using Planar YV12 as output csp (no 0)

Movie-Aspect is undefined - no prescaling applied.

videocodec: libavcodec (352x240 fourcc=3167706d [mpg1])

[mpeg1video @ 0x87e0a60]MPEG1/2 does not support 2997/200 fps

Could not open codec.

FATAL: Cannot initialize video driver.

VDec: vo config request - 352 x 240 (preferred colorspace: Planar YV12)

VDec: using Planar YV12 as output csp (no 0)

Movie-Aspect is undefined - no prescaling applied.

videocodec: libavcodec (352x240 fourcc=3167706d [mpg1])

[mpeg1video @ 0x87e0a60]MPEG1/2 does not support 2997/200 fps

Could not open codec.

FATAL: Cannot initialize video driver.

Exiting...
```

A alguien le suena?

----------

## Darksidex25

añade esto al final de la línea  :Wink: 

```
 -ofps 25 
```

----------

## nandelbosc

Ok, funciona!

Como puedo aprender a resolver este tipo de errores y asi no ir preguntando (y tocando la moral   :Rolling Eyes:   )?

----------

## nandelbosc

Y para pedir, nunca faltamos...

como puedo aumentar la calidad del MPEG final (con su incremento de tamaño, claro) ?

tengo videos que se ven mucho mejor cuando era AVI.

----------

## nandelbosc

Si pregunto todo esto es para poder utilitzar la PS3 con Twonky como Media Center. Como dicen por ahi...

 *Quote:*   

> However, if you use PS3 as your media player. The supported formats are: MPEG1, MPEG2, and part of MPEG4 videos. So far I have no information if Sony has plan to enhance the video format support by firmware update. 

 

Solo me vale MPEG1, MPEG2 y MPEG4.

He probado a convertir divx a MPEG1 con este comando:

```
mencoder -of mpeg -oac lavc -ovc lavc -lavcopts vcodec=mpeg1video -srate 44100 -af lavcresample=44100 -ofps 25
```

Se nota una tremenda perdidad de calidad.

Si lo paso a MPEG4 con éste comando:

```
ffmpeg -i fichero.avi -acodec mp2 -ab 192000 -ac 2 -g 3000/10001 -s 720x576 -bf 2 -b 4900000 -vcodec mpeg1video fichero.mpg
```

El resultado: de un fichero AVI de gran calidad que ocupa 500MB, me quedo con un MPEG4 de calidad que ocupa mas de 2GB! Demasiado grande!

¿Como puedo encontrar un término medio?

----------

## Darksidex25

 *nandelbosc wrote:*   

> Ok, funciona!
> 
> Como puedo aprender a resolver este tipo de errores y asi no ir preguntando (y tocando la moral    )?

 

En lo que a mi respecta, no me importa responder este tipo de dudas, así puedo devolver a la comunidad un poquito de todo lo que me ha dado. De todos modos yo las respuestas las estoy sacando del man de mencoder. Más o menos me sé bastantes parámetros (son muchos años ripeando DVDs con mencoder), pero al final es como todo, saber qué es lo que se quiere y buscar en la ayuda.

Por cierto este comando que has puesto: 

```
ffmpeg -i fichero.avi -acodec mp2 -ab 192000 -ac 2 -g 3000/10001 -s 720x576 -bf 2 -b 4900000 -vcodec mpeg1video fichero.mpg
```

 no pasa a mpeg-4, sino a 1.

Si quieres te digo como hago yo mis ripeos, de DVD a AVI (MPEG-4 ISO, más standard no hay). Si eres capaz de reproducir los vídeos normales y corrientes de internet, podrás con ellos en tu ps3. Por cierto, dato importante, 2 pasadas, así se gana bastante.

```

mencoder <tu fuente de origen> -o /dev/null -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:vbitrate=<se calcula>:acodec=mp3:vhq:vpass=1:abitrate=192:v4mv:vqscale=3:trell -vf scale -zoom -xy 640 

mencoder <tu fuente de origen> -o <nombre final> -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:vbitrate=<se calcula>:acodec=mp3:vhq:vpass=2:abitrate=192:v4mv:vqscale=3:trell -vf scale -zoom -xy 640 -ffourcc XVID #El -ffourcc lo puedes omitir, solamente dice que es un XVID, aunque realmente es un MPEG4

```

Si no se me ha ido la olla mucho, así conseguirías convertir el vídeo de origen en un avi de 640px de ancho (la altura la calcula automáticamente para que se mantenga la proporción), con un br para el audio de 192kbps (menos no, por favor). Si el origen es un DVD, tendrías un ripeo de DVD  :Wink: 

Ahora para calcular el bitrate del vídeo hay una fórmula muy sencilla.

((Tamaño final del vídeo en kb - (bitrate del audio * el tamaño en segundos)) / tamaño en segundos) * 8

Así queda un poco lío, con datos para ejemplo:

Si quisieras un tamaño final de 700Mb

700 * 1024 = 716800

El audio es de 192kbps, lo dividimos entre 8: 192 / 8 = 24 (valor a multiplicar por el número de cadenas de audio, como es uno, pues 24 al final)

Y suponiendo que la peli es de 1h30, 5400 segundos  :Wink:  aunque esto lo puedes ver con cualquier reproductor o con midentify

(((716800 - (24 * 5400)) / 5400) * 8 ) = 864

Espero que el tocho sirva de ayuda

----------

## nandelbosc

Pues si!

Ahora se ve perfectamente! en total casi una hora de compresion (tela!) pero se vé muy bién.

Gracias!

Ahora solo me queda tener un poco de paciencia   :Very Happy: 

----------

## Darksidex25

Ya que todo funciona como quieres (me alegro) un último apunte, el tamaño final del vídeo.

Para vídeos muy pequeños, como capis de los simpsons o south park, que duran 20 minutos, unos 10Mb por capi estaría muy bien (aunque es un poco burrada), para series de 40 minutos, a razón de 390 - 400 Mb el capítulo.

----------

## nandelbosc

Buen apunte.

Gracies de nuevo.

Cerrendo el mensaje...   :Smile: 

----------

