Mostrando entradas con la etiqueta avidemux. Mostrar todas las entradas
Mostrando entradas con la etiqueta avidemux. Mostrar todas las entradas

miércoles, 30 de septiembre de 2015

Problemas resueltos de avidemux en gtk

En estos momentos uso solo en raras ocasiones programas como avidemux. Sin embargo, el otro día necesitaba hacer una correción rápida sobre un vídeo y recurrí a avidemux, que fue la primera que se me ocurrió. La instalé y al llamarla la respuesta fue:


Por lo visto es un error conocido de avidemux en las distribuciones que utilizan gtx. Como podemos ver en esa página, ya han preparado un parche que deben haber incluido en alguna actualización siguiente, por que ayer, al volver intentar arrancar avidemux, esta vez sí ha funcionado




jueves, 13 de noviembre de 2014

Extracción de imágenes desde un vídeo mkv

Recordemos ese vídeo que extraímos hace unos días de un DVD y convertimos en mkv utilizando de Handbrake, y que luego recortamos mediante avidemux. De ese vídeo me han preguntado si era capaz de extraer unas imágenes en jpg para utilizarlas individualmente sin tener que incluir un vídeo. Por supuesto dije que sí. Luego estuve valorando las diferentes posibilidades.
Primera, avidemux, pero no descubrí la forma de extraer imágenes fuera de ir pidiendo de una en una (File -> Save image). Siempre es mejor sacar tiras completas para escoger la que nos de la mejor visualización.
Segunda opción por mi conocida; si disponemos de un vídeo con formato adecuado para él, VirtualDub nos convierte un vídeo en una tira de imágenes en milésimas de segundo. Aunque es una aplicación pensada para windows, podemos utilizarla en Linux, por que VirtualDub funciona perfectamente por wine. El problema es que nos exigiría una codificación más, ya que VirtualDub solo admite "Video for Windows (VFW) compatible codec..."


y es preferible evitarlo, ya que HandBrake ya lo ha recodificado una vez, y ahora otra más siempre genera pérdida de calidad; eso sin olvidar de que para convertirla a imagen JPG se va a recodificar otra.

Tercera, y más sencilla y adecuada, ffmpeg. En concreto en sus FAQ encontramos la instrucción básica

ffmpeg -i movie.mkv movie%d.jpg

Perfecto. El único problema es que el vídeo dura 1 hora y 5 minutos y solo se necesitan para lo que queremos 13 segundos. La orden directamente sobre el vídeo nos generaría 97500 imágenes (65minutos x 60 segundos x 25fps). Así que lo mejor es ejecutar solo sobre la porción menor posible del vídeo.
Podríamos volver a dividir mediante avidemux, pero genera diferentes problemas en función de la localización de los "keyframes", los fotogramas base sobre los que se marca la compresión de todos los siguientes. Sin embargo, la división mediante mkvmerge GUI no generó ningún problema y lo pudimos dejar en 13 segundos (primero en cortes de 20 minutos, luego 5 del que nos interesaba, luego 1 minuto y luego de 20 segundos, que el programa dejó en 13)


En la pestaña de Opciones generales, Modo de corte (Dividir según duración) y luego los segundos (formato horas:minutos:segundos).

Luego aplicamos la orden ffmpeg y se obtienen un lote completo de fotos. Ahora solo nos queda elegir las mejores y las podemos poner en una presentación, sin tener que cargar un vídeo.

PD. Por cierto, aplicaciones gráficas, pero al final, recurrimos al terminal

miércoles, 22 de octubre de 2014

Eliminar principio y fin de un MKV

Como indicábamos en la entrada anterior, de un DVD de una cadena de televisión he extraído un fichero mkv para evitar tener que usar un disco óptico. El problema reside en que los productores del Dvd te lo dan con "restos" inútiles al principio (95 segundos de bandas de color y 30 segundos más de pantalla en negro)


y final (11 minutos y 48 segundos de otros programas codificados o lo que sea)


Así que para terminar nuestro trabajo, lo mejor es eliminar esos trozos. Primero quise ejecutar ffmpeg

ffmpeg -i 'video.mkv' -v:c copy -a:c copy -ss 02:05:00 -t 63:19:00 'video2.mkv'

pero como resultado generó una serie de errores que tengo aun que analizar:

Invalid loglevel "copy". Possible levels are numbers or:
"quiet"
"panic"
"fatal"
"error"
"warning"
"info"
"verbose"
"debug"

Revisando mkvmerge descubrí que realmente no puedes seleccionar un trozo en particular, sino que permite dividir en trozos idénticos según diferentes parámetros.


Eso nos obligaría a dividirlo en trozos con la duración del primero a eliminar, ajustar el último que queramos aprovechar dividiéndolo según el último trozo que quede para eliminar y finalmente unir los cortes válidos por orden. Demasiado trabajo.

Así que recurrí a avidemux.


Mediante los marcadores (1 y 2 en la imagen) se marcan las zonas a borrar, teniendo siempre cuidado de copiar directamente el audio (3) y vídeo (4) para no provocar una nueva recodificación y simplemente copiar la parte deseada directamente. Con el fin de no cambiar el formato del contenedor, se elige el mismo (5). Con esto y 3 segundos, listo. No se ha cambiado la resolución ni la calidad de la imagen y sonido y hemos eliminado casi 14 minutos de vídeo "basura".
En resumen, hemos utilizado una serie completa de aplicaciones de código abierto que nos ha permitido convertir un DVD óptico (técnica poco funcional en los días que corren) a un fichero MKV de alta calidad (vídeo avc1 h264 720x576; sonido AC3 382kbps) en 1,1GB, que entra en cualquier unidad USB, incluso en las que regalan.

Solo me falta saber que pasó con ffmpeg.

miércoles, 6 de junio de 2012

Transformación de vídeos de Youtube. Episodio 2

Tras diferentes intentos sobre los vídeos comentados en la entrada anterior, podemos resumir los resultados obtenidos hasta ahora.
1. Los ficheros obtenidos con formato webm son fáciles de cortar y, a pesar de que los ficheros originales presentan un error de duplicación de imágenes, debido a que ese contenedor depende del formato matroska, las mkvtoolnix nos permite unirlos aunque la frecuencia de imágenes de los dos cortes no sea idéntica. Con ello logramos un corte webm de 6 minutos que queda perfecto (no lo cuelgo por que no creo tener derechos para hacerlo, ya que seguramente existen Copyright).
2. El objetivo de tener un formato más abierto choca con los errores de los ficheros originales. Todos los tipos de ficheros bajados con youtube-dl (flv, mp4 y webm) generan pérdidas de "frames" que hacen que los cortes tengan frecuencias distintas de imágenes y no se puedan unir mediante mencoder o, incluso, VirtualDub.
3. El intento de VirtualDub me ha sorprendido, ya que al hacerlo a través de wine, sin codecs en el emulador, creí que sería posible. Primero he transformado los flv de la parte 2 y 3 a un contenedor avi  con codec xvid de vídeo y mp3 de audio mediante mencoder (30 frames perdidas en la parte 2 y 1 en la parte 3)

mencoder vXto9zcwlZg.flv -o salida1.avi -oac mp3lame -lameopts br=128 -ovc xvid -xvidencopts bitrate=1200

mencoder KNjQBzp-q5Y.flv -o salida2.avi -oac mp3lame -lameopts br=128 -ovc xvid -xvidencopts bitrate=1200

Sin embargo, al intentar unirlos por un simple append en VirtualDubMod 1.5.2 me ha dado un mensaje claro; la diferente frecuencia no hace posible la unión


4. Sorprendentemente, si he podido unir esos esos mismos ficheros avi mediante avidemux. Además he podido cortar el inicio, el fin. Los anuncios solo he podido eliminarlos en parte, seguramente debido a que se han generado imágenes maestras con gran separación, con lo que no es posible cortar después de la última imagen maestra. Se podría corregir, supongo, marcando en la transformación con mencoder una frecuencia por ejemplo de 1 cada 30, en vez de 1 cada 300, que suele ser lo habitual (aunque en mencoder no lo sé). Sin embargo el resultado final es bueno en imagen, pero el sonido acaba varios segundos antes que el vídeo, a pesar de que en los los dos avis transformados el propio mencoder había sincronizado midiendo el "delay" de 0,026 segundos al transformar.

Para terminar, se ha logrado el vídeo deseado, pero solo en formato webm. Los intentos de conseguir un formato más "estándar" han provocado desincronías de imagen y sonido debido a errores en los vídeos originales. Curiosamente, a pesar de haber trabajado mucho más con winff hasta el día de hoy, hemos logrado mejores resultados con mencoder que con ffmpeg.

No quiero olvidarme de dar las gracias a hckorootx por todo el tiempo que ha dedicado para encontrar una posible solución que nos permitiera obtener el vídeo que buscábamos.


miércoles, 25 de mayo de 2011

GUI, te necesito. WinFF

Pues sí; a pesar de un reiterado intento de dominar el terminal, aun necesitamos algún que otro GUI para sobrevivir a la jungla de comandos. En concreto, he necesitado WinFF. La modificación de unos ficheros avi en formato Microsoft MPEG-4 4.2 me ha dado un gran dolor de cabeza. No he sido capaz de cortar las zonas deseadas en avidemux, y tampoco he podido en VirtualDub 1.99 a través de Wine, y al hacerlo con ffmpeg en terminal me bajaba la calidad (demasiadas opciones, y a veces los manuales -man ffmepg- no son fácilmente digeribles). El corte lo he realizado con nuestra vieja versión VirtualDubMod 1.5.10.2 (sí, la que aun uso para manipular mis copias privadas de vídeo). Con esta versión modificada he podido cortar los ficheros avi en modo directo, sin recodificación, ya que no he podido instalar en wine un codec adecuado. Una vez cortados y disminuida la velocidad (framerate 10), para poder mostrar bien el avance, no se puede hacer el paso a mpeg1 a través de ffmpeg
...MPEG1/2 does not support 10/1 fps
Sin embargo, sí he podido transformarlos con WinFF. No solo eso, también mantienen la duración en segundos obtenida después de la reducción de 10 imágenes por segundo, con lo que supongo -y solo supongo, por que la orden de ffmpeg generada por WinFF era tan grande que no la pude entender- que ha rellenado hasta 25, mínimo necesario en el formato VCD que le he dado al vídeo.
Por supuesto, supongo la pregunta del millón ... ¿por que pasar un vídeo a formato MPEG1? La respuesta es que va a ser proyectado a través de una presentación de PowerPoint en un ordenador de un Congreso en otro país. No sabemos como va a ser el ordenador, ni el software disponible, ni los codecs que tendrán, así que la única versión de vídeo que se ve directamente a través de PowerPoint es nuestro venerable MPEG1. La segunda pregunta será que tengo yo que ver con PowerPoint; la respuesta es que la presentación no es mía; yo solo entro en la parte técnica de recodificar el vídeo.