Navegando por
Etiqueta: desarrollo

Presentando HEIC to JPG Converter

Presentando HEIC to JPG Converter

Hola a todos,

Hoy estoy publicando la primera versión de mi herramienta HEIC To JPG Converter.

HEIC to JPG v0.1

Esta es una simple herramienta para convertir imágenes y fotos en formato HEIC al formato JPEG. Hoy en día, los celulares nuevos pueden capturar fotos en formato HEIC. Esto trae una ventaja en que ahorra un poco de espacio, pero trae la desventaja de que varias aplicaciones no pueden trabajar con este formato nativamente. Es por eso que escribí esta herramienta.

Antes de escribirla, estaba usando CopyTrans HEIC para Windows, pero por alguna razón me fallaba con algunas imágenes. Mi herramienta utiliza ImageMagick en el fondo para realizar las conversiones y pudo convertir estas imágenes perfectamente. También mantiene el metadata en el archivo convertido.

Otra ventaja de mi herramienta es poder escoger cuantos hilos del CPU usar. Convertir archivos HEIC a JPEG puede ser costoso para el CPU y a veces el equipo se tranca temporeramente. CopyTrans HEIC no me daba una opción para escoger cuantos hilos usar, pero con mi herramienta esto es posible.

Puedes probar esta herramienta descargándola en GitHub haciendo click aquí.

Espero que esta herramienta les funcione bien. Lo probé con fotos tomadas con mi Samsung Galaxy S20 Ultra y S21 Ultra.

Google Drive Uploader & Explorer Tool v1.15 ya está disponible

Google Drive Uploader & Explorer Tool v1.15 ya está disponible

Hola a todos,

Hoy, he publicado la versión 1.15 de Google Drive Uploader & Explorer Tool:

Google Drive Uploader & Explorer Tool v1.15 (Spanish)

Esta versión contiene los siguientes cambios:

  • Ahora puedes añadir archivos para descargar a la lista de archivos a subir o bajar. Haz click derecho y selecciona «añadir a lista» o presiona CTRL + Q.
  • Arreglado un problema de descargas introducido en la versión anterior.
  • «Enviar a Basura» ha sido añadido en el menú del click derecho.
  • Se actualizaron los APIs de Google.

Puedes descargarla en GitHub haciendo click aquí.

¡Disfruten!

Google Drive Uploader & Explorer Tool v1.14 ya está disponible

Google Drive Uploader & Explorer Tool v1.14 ya está disponible

Hola a todos,

Hoy, he publicado la versión 1.14 de Google Drive Uploader & Explorer Tool:

Google Drive Uploader & Explorer Tool v1.13 (Spanish)

Esta versión contiene los siguientes cambios:

  • Añadido botón para abrir el ID de carpeta establecido.
  • Ahora se puede copiar el nombre de la carpeta haciendo click en su nombre.
  • Se pueden detener las subidas.
  • Se arreglaron algunos problemas.
  • Se actualizaron los APIs de Google.

Puedes descargarla en GitHub haciendo click aquí.

¡Disfruten!

rav1e GUI v1.17 ya está disponible

rav1e GUI v1.17 ya está disponible

Hola a todos,

Hoy, he publicado la versión v1.17 de rav1e GUI:

rav1e GUI v1.17
rav1e GUI v1.17

Esta versión elimina la creación de archivos temporeros .y4m, ahorrando espacio. También, desactiva la opción de conversión de 2 pasos (2-pass) al convertir un video en modo «quantizer». La conversión de 2 pasos trabaja únicamente en modo «bitrate» de acuerdo al convertidor rav1e.

Puedes descargar esta nueva versión en GitHub haciendo click aquí.

¡Disfruten!

Google Drive Uploader & Explorer Tool v1.13 ya está disponible

Google Drive Uploader & Explorer Tool v1.13 ya está disponible

Hola a todos,

Hoy, he publicado la versión 1.13 de Google Drive Uploader & Explorer Tool:

Google Drive Uploader & Explorer Tool v1.13 (Spanish)

Esta versión contiene los siguientes cambios:

  • La generación de los «RAW Urls» ha sido arreglada.
  • Se pueden generar links de descargas de carpetas.
  • Se pueden generar scripts que usen cURL (Compatible con MSYS2 y WSL).
  • Los APIs de Google han sido actualizados.

Puedes descargarla en GitHub haciendo click aquí.

¡Disfruten!

Colaborando en el proyecto exhale – Parte 2

Colaborando en el proyecto exhale – Parte 2

Hola a todos,

Ayer, comencé a trabajar en mi segunda colaboración para el proyecto exhale, el cual convierte archivos al codec xHE-AAC USAC. Esta vez, trabajé en añadir una opción para mostrar la versión del programa en la consola.

exhale-V-argument-main-software

La imagen de arriba muestra la salida del programa al no pasar ningún argument o al pasar un argumento incorrecto.

No existía una opción que imprima únicamente la versión. Idealmente, quería una manera de que el programa imprima la versión como por ejemplo exhale version 1.0.3 ..... para poder capturarla así como hago con otras herramientas como Opusenc y Flac. Debido a esto, comencé a trabajar en añadir esta funcionalidad.

El programa verifica si solo hay un argumento (en realidad hay 2 argumentos: el ejecutable del programa y el segundo que sería la de imprimir la versión). Luego, verifica si el argumento pasado es -v o -V. Si esto es cierto, imprimimos la versión del programa al usuario:

Este es el resultado:

La salida es muy simple. Gracias a esto, puedo capturarla y pasarla a mi herramienta en desarrollo exchale GUI:

Este «Merge Request» fue aprobado y fusionado al código fuente, y está disponible para el uso de todo el mundo. Sobre mi interfaz gráfica, pronto la publicaré.

Haz click aquí para ver el «Merge Request» en GitLab.

Mi primera contribución en GitLab: Convertidor exhale

Mi primera contribución en GitLab: Convertidor exhale

Hola a todos,

Ayer, estuve colaborando con el proyecto exhale para añadir compatibilidad para compilarlo usando MinGW en Windows.

Este proyecto es un convertidor de audio de código abierto que nos permite convertir archivos de audio WAV al codec xHE-AAC bajo el contenedor M4A.

Originalmente, el proyecto compila en Windows usando Visual Studio, pero al intentar compilarlo usando MSYS2/MinGW, nos daba problemas, específicamente esto:

H:/repos/media-autobuild_suite/build/exhale-git/src/app/../../src/app/exhaleApp.cpp: In function 'int main(int, char**)':
H:/repos/media-autobuild_suite/build/exhale-git/src/app/../../src/app/exhaleApp.cpp:246:85: error: '_SH_DENYWR' was not declared in this scope
  246 |     if (_sopen_s (&inFileHandle, inFileName, _O_RDONLY | _O_SEQUENTIAL | _O_BINARY, _SH_DENYWR, _S_IREAD) != 0)
      |                                                                                     ^~~~~~~~~~
H:/repos/media-autobuild_suite/build/exhale-git/src/app/../../src/app/exhaleApp.cpp:320:100: error: '_SH_DENYRD' was not declared in this scope
  320 |     if (_sopen_s (&outFileHandle, outFileName, i | _O_SEQUENTIAL | _O_CREAT | _O_EXCL | _O_BINARY, _SH_DENYRD, _S_IWRITE) != 0)
      |                                                                                                    ^~~~~~~~~~
make[1]: *** [../makefile.base:112: ../../build/exhaleApp.d.o] Error 1
make[1]: Leaving directory '/build/exhale-git/src/app'
make: *** [makefile:18: all] Error 2

También nos daba problemas por una definición de fprintf_s. Unos cambios tuvieron que hacerse en el código.

Para resolver el problema de que _SH_DENYRD no estaba declarado, tuvimos que añadir el header share.h:

Para resolver el problema de fprintf_s, cambié el bloque #ifndef a #if !defined para verificar adicionalmente si estamos compilando bajo MinGW. Si esto es cierto, no declaramos esta variable que apunta a la función fprintf:

Luego de realizar estos cambios, el programa compiló exitosamente.

Lo proximo que hice fue hacer unos cambios al archivo makefile.base para que el proyecto Media Autobuild Suite pasara las variables CXXFLAGS y LDFLAGS a exhale:

Estos cambios fueron aprobados y fusionados al proyecto.

Mi inspiración para añadir esta herramienta al Media Autobuild Suite fue debido a que un usuario pidió que esta herramienta fuese añadido. Trabajé para añadirlo y abrí un «Pull Request», el cual refiné aplicando unas recomendaciones.

Este «Pull Request» fue fusionado al suite y ahora todos los usuarios pueden compilar y usar esta herramienta.

Contribuciones

¡SVT-AV1 GUI v1.3 disponible ya!

¡SVT-AV1 GUI v1.3 disponible ya!

Hola a todos,

En el día de hoy, he publicado la versión 1.3 de SVT-AV1 GUI:

SVT-AV1 GUI v1.3
SVT-AV1 GUI v1.3

Esta versión añade la opción de no usar «pipes», lo cual hace más estable el proceso de conversión, pero requiere crear archivos .y4m. Estos archivos pueden ser enormes dependiendo del video a convertir.

También, añadí la opción de convertir en 2 pasos (2-pass encoding).

Puedes descargar esta nueva versión en GitHub haciendo click aquí.

¡Disfruten!