blackEncoder: mi primera aplicación.

Acabo de subir a GitHub mi primer programa en Python. Un codificador de vídeo basado en ffmpeg y PyQt.

¿Qué diferencia a éste de otros conversores de vídeo? Que está programado para casos muy concretos por ser tareas que repetía con bastante frecuencia. Son presets que pueden facilitarnos la vida a quienes necesitemos insertar fotogramas en negro delante y detrás de un vídeo para prepararlo para emisión, añadir un timecode determinado, etc…

blackEncoder

He utilizado como IDE PyCharm y me ha gustado mucho. Creo que es de lo mejor. Intenté con Eclipse pero me costó más.

He aprendido mucho gracias a la ayuda de la gente en los foros. A utilizar variables “globales” o a usar subprocess para lanzar comandos externos a Python. En mi caso fundamental para conectar con ffmpeg.

He chequeado el programa en Linux con CentOs y Antergos y funciona bien. La verdad es que se agradece la libertad que ofrece Linux para programar, compilar y ejecutar los programas. El mundo del Open Source es una gozada en ese aspecto.

El problema es cuando lo he intentado en Mac. Entramos en el mundo de lo privativo, las condiciones y problemas.

Para poder tener y usar mi aplicación en Mac hay dos vías:

1  Volver a programar la aplicación en Swift con Xcode. Conseguir compilar la aplicación incluyendo el framework de ffmpeg y sus librerías.

2  Intentar ejecutar el script que he programado en Python.

Para esta segunda opción, si lo quiero hacer funcionar en Mac osX tendría que:

  • Instalar Xcode
  • Instalar Homebrew
  • Instalar ffmpeg
  • Instalar Python
  • Instalar PyQt

Ahora valoro más el trabajo del equipo de Handbrake, un codificador de vídeo open source basado en ffmpeg que ha conseguido implementarse para Mac y funciona muy bien.

Por tanto, queda pendiente:

  • Optimizar el código.
  • Utilizar excepciones (try – except) para lanzar errores.
  • Mejorar la barra de progreso.
  • Versión para Mac.

Natron. Cada vez van más en serio.

natron
 Acabo de recibir esto:
Natron 2.2 is released. Check it out!

http://natron.fr

Natron is an open source professional-quality video compositing software.

We are looking for funding from partners (studios, software companies…) to support the development of Natron. Please email contact@natron.fr if you can help us keep Natron alive.

Commercial support and development of custom features is also available, backed up by Inria (http://inria.fr). Please contact our sales department at sales@natron.fr for pricing and information.

Release notes:

– OpenGL rendering is enabled by default for interactive editing in plugins that support it (but still disabled for background rendering)
– Roto & RotoPaint: ellipses and circles are more accurate #1524
– When a plugin is not available with the right major version, use the smallest major version above for better compatibility (before that change, the highest major version was returned)
– Natron can now be launched in 32-bits mode on macOS
– Documentation is now licensed under CC BY-SA 4.0, and external contributions are welcome
– Organize nodes documentation
– New project formats: HD_720, UHD_4K, 2K_DCP, 4K_DCP

Plugins:
– The plugins that were made available as beta features in the 2.1 releases are now considered stable:
– DenoiseSharpen: new wavelet-based denoising plugin
– EdgeBlur: Blur the image where there are edges in the alpha/matte channel.
– EdgeDetect: Perform edge detection by computing the image gradient magnitude.
– EdgeExtend: Fill a matte (i.e. a non-opaque color image with an alpha channel) by extending the edges of the matte.
– ErodeBlur: Erode or dilate a mask by smoothing.
– HueCorrect: Apply hue-dependent color adjustments using lookup curves.
– HueKeyer: Compute a key depending on hue value.
– KeyMix: Copies A to B only where Mask is non-zero.
– Log2Lin: Convert from/to the logarithmic space used by Cineon files.
– PIK: A per-pixel color difference keyer that uses a mix operation instead of a max operation to combine the non-backing screen channels.
– PIKColor: Generate a clean plate from each frame for keying with PIK.
– PLogLin: Convert between linear and log representations using the Josh Pines log conversion.
– Quantize: Reduce the number of color levels with posterization or dithering
– SeExprSimple: new simple expression plugin with one expression per channel
– Sharpen & Soften: new plugins.
– SlitScan: Per-pixel retiming.
– SeNoise: fix bugs in the Transform parameters #1527
– PIKColor: do not expand region of definition
– Shadertoy: support iDate, add presets, fix CPU rendering #1526
– Transform & CornerPin: additional “Amount” parameter to control the amount of transform to apply.
– ColorLookup: fix a bug where output was always clamped to (0,1) #1533
– Grade: fix a bug where negative values were clamped even when gamma=1 #1533
– STMap, IDistort, LensDistortion, Transform, CornerPin: reduce supersampling to avoid artifacts
– LensDistortion: add STMap output mode, add undistort output, add PFBarrel and 3DEqualizer distortions model, add proper region of definition support.
– RotoMerge: a merge plugin that takes an external mask as the alpha for the A input.
– WriteFFmpeg: DNxHD codec now supports DNxHR HQ, DNxHR SQ and DNxHR LB profiles.

Script para mejorar la calidad de imagen.

Alex J. Champandard es el autor de este script escrito en Python 3.4
Puede ser muy útil para mejorar la calidad de imágenes ampliadas.

Todos sabemos que al ampliar una imagen, puerde calidad, se “rompe”, aparece banding y los pixeles y artefactos aparecen más grandes.

Usando este script la mejora es notable. Solo hay que ver las imágenes de muestra como esta.

oldstation_example

Lo he descubierto en Github. En la página del proyecto podéis ver descripción detallada del programa y ejemplos de uso a través de comandos.

Es Open Source y además de poder instalarlo en Linux se puede usar en Mac y Win.

Para instalarlo en Mac lo mejor es hacerlo a través de Doker.