Guía para extracción de fotogramas a mayor resolución que la del proyecto¶
En ciertas ocasiones, es posible que sea necesario trabajar en un proyecto de Kdenlive con imágenes fijas extraídas a partir del material original. Esa es una tarea sencilla, gracias a las funciones “Extraer fotograma…” y “Extraer fotograma al proyecto…”, disponibles desde el menú contextual del Monitor de clips. Ver también la sección Extraer fotograma al proyecto….
Atención
Actualmente, Kdenlive extraerá los fotogramas de acuerdo a las opciones del proyecto activo. Esto significa que si el material original se encontrara en una resolución mayor que la establecida en las opciones del proyecto (e incluso en una orientación diferente), el fotograma extraído tendrá el formato y resolución del proyecto y no el original del material. En consecuencia, la calidad de los fotogramas extraídos podría diferir de forma apreciable, con respecto a la del material en video, al usarse lado a lado o uno a continuación del otro, durante la edición.
Perfil del proyecto y material con perfiles distintos¶
En algunos proyectos, podría ser necesario trabajar con material que no coincida para nada con el perfil del proyecto. Por ejemplo, al trabajar con ciertas capturas de pantalla, especialmente cuando provengan de tabletas o teléfonos inteligentes. Dichas grabaciones podrían tener inclusive una orientación distinta[1].

Para dar un ejemplo concreto: Al grabar la pantalla de una tableta Android, digamos, de una Samsung Galaxy Tab S3 se obtendrá un material con una resolución de 1536×2048 con una proporción de 2:3 (dado que usa una orientación de retrato). Aún en caso de grabar en orientación apaisada, la proporción de imagen de 3:2 no será la ideal. Y sería perfectamente razonable desear grabar a su resolución original, para no perder calidad más adelante, durante el proceso de posproducción, cuando se necesitará la mayor calidad posible en el material original.
Nota
La velocidad de fotogramas mostrada por Kdenlive para este material (ver captura de pantalla) ni siquiera es la correcta. De hecho, este material contiene una velocidad de fotogramas ampliamente variable (lo que no debe ser confundido con una tasa de bits variable) y Kdenlive/MLT/ffmpeg parecen ofrecer una amplia variedad de opciones tentativas a este respecto, quizás basadas en el rango de colores de TV indicado en la fuente de video. De todas maneras una velocidad de fotogramas de 23500/1001 es lo usado por el est;andar NTSC, aún así este material ha sido grabado con un dispositivo PAL con cromaticidades PAL.
Desafortunadamente, en caso de haber tenido que trabajar con imágenes fijas extraídas de tales tipos de material, es posible que haya sido necesario enfrentarse a una sorpresa desagradable: el motor de medios usado por Kdenlive, MLT, extrae los fotogramas fijos siempre usando las opciones del proyecto activo. Si se tiene un proyecto activo FullHD de 1920×1080 píxeles, con una proporción de imagen de 16:9. Y una grabación de pantalla de 1536×2048 píxeles con una proporciópn de 2:3. Entonces se obtendrán fotogramas extraídos con un tamaño de 1920×1080 píxeles con una proporción apaisada de 16:9 y una gran cantidad de espacio transparente, pero no con la resolución esperada de 1536×2048. Por lo tanto, no sólo la resolución cambia, sino que también lo hace la proporción de la imagen.

Es difícilmente lo que se buscaba, tal como lo muestran los detalles de la imagen capturada. Al comparar esta captura del Monitor de clips con la captura del Monitor de clips obtenida a partir del material en bruto, se notarán las diferentes calidades. No importa cuál se prefiera, el problema es que las mismas difieren de manera apreciable.
Esta es una situación inaceptable cuando sea necesario utilizar tanto el material original como los fotogramas capturados en el mismo proyecto, especialmente cuando se encuentren cercanos uno al otro en la línea de tiempo. Las diferencias serán claramente apreciables, a menos que se comprima el video resultante hasta el extremo de que luzca como una episodio falso de Barbapapa.
Extracción a la resolución original¶
Por supuesto, una vez que todos los cortes hubieran sido mayormente realizados en la línea de tiempo, con los fotogramas necesarios extraídos como imágenes fijas, sería posible volver a extraer manualmente los mismos fotogramas a su resolución original. Naturalmente, esto no sólo sería una tarea desalentadora, sino una propensa a la introducción de errores.
Afortunadamente, existe una ruta sencilla para lograr esto, mediante el uso de un script de bash (extract-frames, cortesía de autor original de la publicación en el blog: TheDiveO). Es posible descargar el script de bash
(archivo ZIP), extraerlo y hacerlo ejecutable ($ chmod u+x extract-frames
).
Advertencia
Una palabra de cautela: antes de liberar cualquier cosa que pueda realizar cambios en la carpeta del proyecto de Kdenlive, asegurarse de haber respaldado antes el proyecto. Nadie se hará responsable por las posibles pérdidas de datos ocasionadas por su uso.
Ahora, ejecutar el script dentro de la carpeta del proyecto, en donde se encuentren los archivos de imagen PNG con los fotogramas extraídos, conjuntamente con los correspondientes archivos de video, a partir de los cuales los primeros fueran anteriormente extraídos. Siempre será necesario especificar el nombre del proyecto de Kdenlive para poder ejecutar el script:
$ extract-frames myproject.kdenlive
¡Eso será todo! Será posible inclusive ver cómo los archivos han sido actualizados en la Bandeja del proyecto de Kdenlive. (Significando también esto que es posible ejecutar el script mientras Kdenlive está en funcionamiento con el proyecto abierto).
¿Qué es lo que este script realmente hace? En primer lugar, rastrea la carpeta en busca de imágenes PNG cuyos nombres tengan un formato xxx-f000000.png
. En donde, xxx es el nombre base del archivo de video (sin la extensión) correspondiente, a partir del cual se hubiera extraído originalmente el fotograma. Actualmente, el script solamente buscará archivos de video cuya extensión sea .mp4
o .MP4
.
La porción f000000
identificará el número de fotograma del clip de video desde el cual la imagen fue extraída. Respecto a lo cual surge una pregunta interesante: ¿en qué sistema de referencia fueron contabilizados esos números de fotograma?
Recordando lo escrito más arriba, acerca de que Kdenlive extraía los fotogramas desde los clips de la Bandeja del proyecto utilizando las propiedades del proyecto activo, tenemos que el sistema de referencia para contar los números de fotograma es el propio proyecto activo. Y esa es la razón principal por la que es necesario indicar al script extract-frames
cuál es el nombre del proyecto: El script debe conocer la velocidad de fotogramas del proyecto para tratar apropiadamente a los números de fotograma a ser extraídos. Sin este dato, sería posible que se extrajeran fotogramas incorrectos, en caso de que el material en bruto tuviera una velocidad de fotogramas distinta a la del proyecto y, por lo tanto, una forma de contabilizar los fotogramas también diferente a la del proyecto.
Nota
Los archivos de imagen de los fotogramas podrán estar ubicados no sólo en la carpeta del proyecto, sino también en alguna de sus sub carpetas. El script no será capaz de encontrar ningún archivo PNG de fotogramas extraídos fuera del sub árbol de carpetas del proyecto, dado que realmente no rastrea el proyecto mismo de Kdenlive en busca de fotogramas extraídos.
Atención
No se deberá modificar la velocidad de fotogramas del proyecto con posterioridad, en caso contrario la extracción de fotogramas mediante el script producirá resultados incorrectos. Esto se deberá a que los números de fotogramas en los nombres de los archivos ya no se corresponderán con las opciones del proyecto.

Después de haber ejecutado el script extract-frames
, debería notarse en el panel Propiedades del clip de Kdenlive que los PNG de los fotogramas extraídos tienen ahora el tamaño correcto de imagen y de proporción. Simplemente por un asunto de completitud: su previsualización en el Monitor de clips debería mostrar ahora la misma calidad de imagen que en el material original. Por lo que ya se estaría con todo pronto para finalizar el proyecto y procesarlo a un archivo de video.
En caso de que se detectaran cambios de color en esta etapa del proceso, convendrá revisar en la sección Información de utilidad, la página Transcodificación con FFmpeg y preservación del espacio BT.601.
El flujo de trabajo resumido¶
El flujo de trabajo general no sufrirá un gran cambio, simplemente bastará con ejecutar el script extract-frames
dentro de la carpeta del proyecto de Kdenlive cuando se desee actualizar los archivos de imagen con las imágenes a resolución completa, a partir del material crudo original. En cualquier momento será posible ejecutar o volver a ejecutar el script, mientras se trabaja en el proyecto.
Siempre deberá recordarse no modificar la velocidad de fotogramas del proyecto mientras se trabaje en el mismo, dado que esto dejaría fuera de sincronismo a los números de fotograma codificados en los nombres de las imágenes extraídas previamente.
Notas
- Fuentes
El texto original fue enviado por el usuario TheDiveO al (ahora desaparecido) blog kdenlive.org. Para esta documentación, ha sido tomado desde kdenlive.org, actualizado y adaptado para que coincida con el estilo de esta documentación.