Mailinglist Archive: opensuse-es (1152 mails)

< Previous Next >
[opensuse-es] Re: Generando avis - ffmpeg
  • From: Camaleón <noelamac@xxxxxxxxx>
  • Date: Sat, 19 Dec 2009 23:37:23 +0000 (UTC)
  • Message-id: <pan.2009.12.19.23.37.23@xxxxxxxxx>
El Sat, 19 Dec 2009 23:00:55 +0100, Carlos E. R. escribió:

El 2009-12-19 a las 21:27 -0000, Camaleón escribió:

Quizá sólo te falte pasar los argumentos correctos. Tendrás que seguir
buscando :-)

Vamos por partes.

El Avidemux no funciona... cierto.

Ya lo has visto, te has convencido...

Yo lo estoy usando como "editor", para ver donde está una escena y poder
decirle a otro programa donde cortar, por linea de comandos.

Y es una verdadera pena que no valga, porque es bueno.

Sí, es una pena :-(

Paso 1. He descargado un archivo de prueba [1] (un mpg con 3 canales de
audio) porque el programa de grabación que tengo en el equipo con la
TDT no graba más que un canal de audio y no tengo ningún archivo con el
que probar.

¡En japonés!" Ya te vale :-)

No es fácil encontrar uno que tenga varias pistas de audio. He cogido el
primero que he encontrado :-)

Paso 3. La conversión utilizando el programita tampoco me ha funcionado
así que he optado por tirar directamente de la línea de comandos con el
ffmpeg (por cierto, muy útil la opción de mostrar la instrucción
completa del WinFF):

Ya lo dije ayer... :-)

Pero ¿sabes por qué falla? Porque añaden demasiados parámetros de manera
predeterminada y no permiten la edición manual del comando completo, sólo
te dejan añadir algunas opciones.

***
ffmpeg -i "C:\Documents and Settings\STT200A\Escritorio\dvd.mpg" -f avi
-vcodec libxvid -b 800k -g 300 -bf 2 -ab 128k -acodec libmp3lame -ar
48000 -ab 128k -ac 2 -map 0:0 -map 0:2 -map 0:3 "C:\Documents and
Settings\STT200A\Escritorio\vb\dvd.avi" -newaudio ***

la mia es mucho más simple. No hace falta elegir codec, con el nombre de
fichero de entrada y salida él ya lo deduce. El ffmpeg tiene cosas
majas.

Ojo, que si no le pasas los parámetros del audio, casca. He tenido que
definir el códec (-acodec) y pasar el "-ar, -ab y -ac" expresamente, de
lo contrario saltaba un error.

Con eso, al menos, el archivo de salida resultante es un AVI con dos
canales de audio, los que he querido mapear. Y el tamaño resultante es
de 3,6 MiB, quizá haya que ajustar los parámetros de calidad del vídeo
para que no comprima tanto :-?

Con ajustar el -qscale, creo que era, funciona muy bien y trabaja
rápido. Con ese me vale. Calidad constante, no necesito un tamaño o un
bitrate determinado.

Lo acabo de probar con "-sameq" pero sorprendentemente ha mantenido un
tamaño de salida decente (6 MiB. cuando el original era 28 MiB).

[1] http://samples.mplayerhq.hu/MPEG2/dvd.mpeg (28 MiB.)


Si esos pasos que has dado yo también los tengo hechos, hasta ahí he
llegado.

El problema que tengo con el ffmpeg, son dos:

1) Que al llegar a un artefacto del video de entrada el sonido se
desfasa
medio segundo, lo cual es inaguantable, te lo aseguro. Eso no tiene
solución, como no sea otro programa que inserte algún cuadro que
falte en el video, o deduzca marcas de sincronismo y lo arregle.

Esto tendrás que ver si te pasa con todos las conversiones o sólo con
algunas en concreto. Quizá la fuente original sea el problema.

2) Que al tratarse de una peli (en este caso, pero es frecuente) con
bandas negras arriba y abajo, resulta util recortarlas y ahorrar
megabytes a tutiplen. Pero el ffmpeg me quita esas bandas, y luego
ensancha la altura del video, distorsionandolo, para rellenar todo
ese sitio hasta el número de píxeles original. O la misma relación
de aspecto, no se exactamente. Eso es absurdo, seguro que tiene
remedio, pero no se cual

¿Por qué decías que el "-croptop", "-cropbottom" no te funcionaba? El
efecto que veo es que recorta las partes, sin ensanchar ni modificar el
tamaño, es decir, sin conversiones del escalado :-?

Ahora estoy estudiando el transcode. Ya he conseguido hacer un trozo de
prueba, que contiene el salto.

Al parecer en transcode hay que elegir la librería que haga la
codificación (una es el ffmpeg, precisamente) y luego el codec.

Y al usar ese módulo también se produce el error de sincronismo. tengo
que emplear otro.

Ni idea, pero si usa las mismas bibliotecas del ffmpeg, estarás en las
mismas...

Ah, otra página para tu colección:

http://howto-pages.org/ffmpeg/

Saludos,

--
Camaleón

--
Para dar de baja la suscripción, mande un mensaje a:
opensuse-es+unsubscribe@xxxxxxxxxxxx
Para obtener el resto de direcciones-comando, mande
un mensaje a:
opensuse-es+help@xxxxxxxxxxxx

< Previous Next >
This Thread
Follow Ups