Mailinglist Archive: opensuse-es (1152 mails)
| < Previous | Next > |
Re: [opensuse-es] Re: Generando avis - ffmpeg
- From: "Carlos E. R." <robin.listas@xxxxxxxxxxxxxx>
- Date: Sun, 20 Dec 2009 02:53:38 +0100 (CET)
- Message-id: <alpine.LSU.2.00.0912200205460.4905@xxxxxxxxxxxxxxxx>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
El 2009-12-19 a las 23:37 -0000, Camaleón escribió:
Pa'dos palabras que dicen al final :-p
Es verdad.
Te basta con -ac, acabo de verlo. Es porque el sonido de entrada es 5.1, y el codificador de salida sólo admite 2 canales. El mensaje de error es criptico, pero la info está ahí.
Diferentes algoritmos comprimen más.
Es posible que sólo algunas. Pero siendo grabaciones de la tele es muy fácil que tengan algún error la mayoría.
A ver si lo consigo dibujar.
··································
· · < quitar
· zona superior sin usar · < todo
· · < esto
·--------------------------------·
· ·
· imagen ·
· ·
· original ·
· ·
·--------------------------------·
· · < quita
· zona superior sin usar · < todo
· · < esto
··································
Resultado esperado:
·--------------------------------·
· ·
· imagen ·
· ·
· original ·
· ·
·--------------------------------·
Quiero quitar esas dos zonas negras, no sirve de nada grabarlas porque no contienen información. Son eso, zonas negras al proyectarla en una tele de 3/4 tradicional. Pero lo que obtengo es esto otro:
··································
· ·
· todo ·
· ·
· esto ·
· ·
· lo ·
· ·
· rellena ·
· ·
· de imagen ·
· ·
· distorsionada ·
· ·
··································
O sea, tengo un original de 720*576 pixels, y quiero convertirlo a 720*342, quitando 122 de arriba y 112 de abajo, sin convertirlo en "anamorfico" (me estoy leyendo el howto que mencionas abajo, y no lo entiendo bien).
He logrado hacerlo con otro modulo (libxvid, creo) pero resulta con el mismo artifacto. El origen del problema es que, efectivamente, el fichero original tiene un fallo, pero no se traduce en error de sincronismo.
Ahí explica lo del crop. Con la chorrada que es con el avidemux, y lo complicado que es en el ffmpeg. Lo leo y sigo sin saber como hacer lo que quiero :-/
Tan sólo quitar unas cuantas lineas, no quiero que me lo deforme...
Estoy usando -croptop 122 -cropbottom 112 -s 720x342, pero fíjate lo que dice el tcprobe -i respecto al fichero resultante:
[tcprobe] summary for El coleccionista de huesos q1 crop.avi, (*) = not
default, 0 = not detected
import frame size: -g 720x342 [720x576] (*)
720x576 es el tamaño original y al que me lo visualiza, cuando yo lo que quiero es que lo visualice al que lo he cortado, 720x342. ¿Tan dificil es de hacer eso? Pues parece imposible, leches. :-/
Tendré que experimentar con los filtros de transcode, a ver si ese habla en cristiano.
- -- Saludos
Carlos E. R.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
iEYEARECAAYFAkstg64ACgkQtTMYHG2NR9WNawCdGOQAKKPomi4fEqCHsbEgLYHn
qkwAn1snwk8Bvao/sgcm7WzUNaUuOvul
=ePE0
-----END PGP SIGNATURE-----
Hash: SHA1
El 2009-12-19 a las 23:37 -0000, Camaleón escribió:
El Sat, 19 Dec 2009 23:00:55 +0100, Carlos E. R. escribió:
¡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 :-)
Pa'dos palabras que dicen al final :-p
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.
Es verdad.
***
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.
Te basta con -ac, acabo de verlo. Es porque el sonido de entrada es 5.1, y el codificador de salida sólo admite 2 canales. El mensaje de error es criptico, pero la info está ahí.
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).
Diferentes algoritmos comprimen más.
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.
Es posible que sólo algunas. Pero siendo grabaciones de la tele es muy fácil que tengan algún error la mayoría.
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 :-?
A ver si lo consigo dibujar.
··································
· · < quitar
· zona superior sin usar · < todo
· · < esto
·--------------------------------·
· ·
· imagen ·
· ·
· original ·
· ·
·--------------------------------·
· · < quita
· zona superior sin usar · < todo
· · < esto
··································
Resultado esperado:
·--------------------------------·
· ·
· imagen ·
· ·
· original ·
· ·
·--------------------------------·
Quiero quitar esas dos zonas negras, no sirve de nada grabarlas porque no contienen información. Son eso, zonas negras al proyectarla en una tele de 3/4 tradicional. Pero lo que obtengo es esto otro:
··································
· ·
· todo ·
· ·
· esto ·
· ·
· lo ·
· ·
· rellena ·
· ·
· de imagen ·
· ·
· distorsionada ·
· ·
··································
O sea, tengo un original de 720*576 pixels, y quiero convertirlo a 720*342, quitando 122 de arriba y 112 de abajo, sin convertirlo en "anamorfico" (me estoy leyendo el howto que mencionas abajo, y no lo entiendo bien).
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...
He logrado hacerlo con otro modulo (libxvid, creo) pero resulta con el mismo artifacto. El origen del problema es que, efectivamente, el fichero original tiene un fallo, pero no se traduce en error de sincronismo.
Ah, otra página para tu colección:
http://howto-pages.org/ffmpeg/
Ahí explica lo del crop. Con la chorrada que es con el avidemux, y lo complicado que es en el ffmpeg. Lo leo y sigo sin saber como hacer lo que quiero :-/
Tan sólo quitar unas cuantas lineas, no quiero que me lo deforme...
Estoy usando -croptop 122 -cropbottom 112 -s 720x342, pero fíjate lo que dice el tcprobe -i respecto al fichero resultante:
[tcprobe] summary for El coleccionista de huesos q1 crop.avi, (*) = not
default, 0 = not detected
import frame size: -g 720x342 [720x576] (*)
720x576 es el tamaño original y al que me lo visualiza, cuando yo lo que quiero es que lo visualice al que lo he cortado, 720x342. ¿Tan dificil es de hacer eso? Pues parece imposible, leches. :-/
Tendré que experimentar con los filtros de transcode, a ver si ese habla en cristiano.
- -- Saludos
Carlos E. R.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
iEYEARECAAYFAkstg64ACgkQtTMYHG2NR9WNawCdGOQAKKPomi4fEqCHsbEgLYHn
qkwAn1snwk8Bvao/sgcm7WzUNaUuOvul
=ePE0
-----END PGP SIGNATURE-----
| < Previous | Next > |