sábado, 20 de enero de 2024

Batch conversion HEIC to JPG linux

Abres terminal en la carpeta donde están los archivos HEIC y escribes:

for i in *.HEIC; do heif-convert "$i" "${i%.*}.jpg"; done

miércoles, 24 de febrero de 2021

Sincronizar subtítulos con Autosubsync

Lo primero que hay que hacer es instalar ffmepg, bien desde Centro de Software o línea de comandos:

sudo apt-get install ffmpeg

Después hay que instalar PIP:

sudo apt install python-pip

 Y ya por fin se instala Autosubsync:

 pip install autosubsync


No tiene interface gráfica, hay que hacerlo desde línea de comando, por ejemplo:


autosubsync plan-9-from-outer-space.avi \ plan-9-out-of-sync-subs.srt \ plan-9-subtitles-synced.srt

domingo, 14 de julio de 2019

Auto Mount disco esclavo linux

 sudo gedit / etc/fstab


# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=261b2166-4da5-45b8-a57f-1b2e1d1d5d94 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda3 during installation
UUID=dd5b1085-5e8d-4f8a-acb9-8e2343106fe8 /home           ext4    defaults        0       2
# swap was on /dev/sda1 during installation
UUID=f4a67231-37cf-4d04-80e5-9f3376fb5190 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

/dev/sdb1    /hdd    ext4    defaults    0    0

sábado, 17 de marzo de 2018

Conexión Bluetooth Linux Mint

No había manera de conectar el portátil con el altavoz bluetooth, siempre salía el mensaje "el dispositivo se ha añadido con exito pero falló al conectar". La solución, como casi siempre, la encontré en la consola, con este comando:

pactl load-module module-bluetooth-discover

jueves, 1 de febrero de 2018

Desinstalación completa de Dropbox en linux

dropbox stop
dropbox status # Should report "not running"
rm -rf ~/.dropbox-dist
rm -rf /var/lib/dropbox
rm -rf ~/.dropbox*
sudo apt-get remove nautilus-dropbox
sudo apt-get remove dropbox
rm /etc/apt/source.d/dropbox
 
Si quieres eliminar el contenido de la carpeta Dropbox:

rm -rv ~/Dropbox

lunes, 24 de julio de 2017

Cómo hice un Timelapse a partir de un lote de fotos (Windows+linux)


Bueno, habrá montones de tutoriales de cómo hacer un video Timelapse a partir de un lote de fotos usando Quick Time o Windows Movie Maker o cualquier otro programa con licencia, en 4 sencillos pasos y en 10 minutos, pero como servidor no descarga software pirata y tampoco paga (por principios y más que nada porque soy un tieso, vamos), me he tenido que buscar la vida con software libre. Aunque soy muy fan de linux y las pocas entradas que tiene este blog son básicamente comandos linux, tampoco soy “talibán” y si hay algo más fácil de hacer en Windows que en linux no lo dudo, reinicio en Windows y santas pascuas... Hay formas más simples y rápidas de hacerlo que usando 5 programas y 2 sistemas operativos, ya, sólo cuento cómo lo hice y que el resultado fue espectacular, más que nada para que no se me olvide para otra vez...

Manos a la obra: lo primero, obviamente, hacer la selección de fotos. Una vez hecha la selección, lo siguiente fue ordenarlas cronológicamente, para lo que usé un programa Windows que se llama Namexif. Este programita lo que hace es renombrar una foto o un lote de fotos, según la información EXIF de ésta(s), de modo que un archivo con un nombre, por ejemplo, DSC_235.JPG se llamará a partir de ahora 20110529_21h15m33s.JPG, ya que fue tomada un 29 de mayo de 2011 a las 21:15:33.

Una vez renombradas le pedí a Windows que ordenase los elementos de la carpeta por orden alfabético, con lo que, en la práctica, nos quedarían ordenadas cronológicamente. Bueno, y ¿por qué no pedirle a Windows directamente que las ordene cronológicamente? Porque Windows a veces confunde la fecha de creación con la fecha de modificación, en algunos casos tomaría la fecha en la que copiaste las fotos en lugar de la fecha en la que la hiciste, así que para evitar posibles confusiones...

El programa que usé para realizar el Timelapse se llama VirtualDub (también Windows), y es muy bueno pero tiene algunas pegas, la primera que me encontré es que sólo trabaja con lotes de imágenes que formen parte de una secuencia (1.jpg, 2.jpg, 3.jpg, 4.jpg, …) por lo que tuve que renombrar todas nuestras fotos a este formato. Para ello seleccioné todas las imágenes de la carpeta (CTRL+E) y me fui a la primera de ella; botón derecho y Cambiar nombre. Se marcará en azul el nombre de la primera imagen, tocamos con el ratón la zona blanca que queda entre el nombre y la imagen en sí. Automáticamente Windows va a renombrar todas nuestras imágenes secuencialmente, quedarían así: (1).jpg, (2).jpg, (3).jpg …

No vale todavía para VirtualDub, es así de puñetero en este sentido y no le gustan los paréntesis, tuve que usar otro programa que se llama Bulk Rename Utility. Probablemente este mismo programa sirva para renombrar fotos por información EXIF y posteriormente volver a renombrarlas en secuencia (1,2,3,4,5…) pero como lo descubrí al final del proceso…

Bueno, ya las tenemos ordenadas y renombradas pero las fotos siguen teniendo diferentes tamaños, resoluciones, han sido tomadas con diferentes cámaras, móviles, algunas son de hace 20 años… VirtualDub y cualquier otro programa que haga este trabajo, necesita trabajar con imágenes de idéntico formato, para ello nos pasamos a linux y usamos Imagemagick. Yo elegí el formato para reproducir en TV full HD (1920x1080), así que a ese tamaño hay que convertir todas las fotos.

Cuando las fotos son de diferentes cámaras y formatos, Imagemagick (con los comandos mogrify o convert) por defecto las va a transformar en el tamaño más parecido al que seleccionas sin perder la proporción, pero para VirtualDub no es suficiente y necesitas que sea exactamente el mismo tamaño final. Podrías forzarlo simplemente abriendo terminal dentro de la carpeta que contiene las fotos y escribiendo:

mogrify -verbose -resize 1920x1080! *.JPG

pero las imágenes saldrían distorsionadas. La opción más sensata es rellenar los pixeles restantes hasta completar los 1920x1080, por ejemplo con un fondo uniforme negro:

Abrimos la carpeta donde tenemos las fotos, botón derecho y Abrir terminal aquí.

mogrify -verbose *.JPG -resize 1920x1080 -background black -gravity center -extent 1920x1080 *.JPG

Este comando cambiaría de tamaño todas las fotos dentro de la carpeta donde ejecutes la orden y sobreescribiría los archivos, por lo que las fotos con el tamaño original se perderían, ya todas tendrían el tamaño definido en el comando.

Es curioso, si hay fotos con la extensión .jpg (en minúsculas, en lugar de .JPG) no las modificará, habría que hacer un segundo comando editando el primero, quedaría así:

mogrify -verbose *.jpg -resize 1920x1080 -background black -gravity center -extent 1920x1080 *.jpg

Si en lugar de rellenar con negro quieres poner la misma imagen original pero borrosa (blurred) el comando sería algo más complejo, tendríamos que recurrir a un bucle: 

for i in $( ls *.JPG); do convert -verbose $i \( -clone 0 -blur 0x9 -resize 1920x1080\! \) \( -clone 0 -resize 1920x1080 \) -delete 0 -gravity center -compose over -composite $i; do 

Con esta orden pasa lo mismo que antes, hay que repetir para los archivos con la extensión .jpg (en minúscula):  

for i in $( ls *.jpg); do convert -verbose $i \( -clone 0 -blur 0x9 -resize 1920x1080\! \) \( -clone 0 -resize 1920x1080 \) -delete 0 -gravity center -compose over -composite $i; done


Por cierto, el comando -verbose es prescindible, se usa para que te vaya mostrando en pantalla qué operación está ejecutando en cada momento, si no lo pones la orden se ejecutaría igualmente pero en terminal no verás nada durante los 15 o 20 minutos que dure la conversión de todo el lote con fondo negro de relleno (más de 2 horas para el relleno con blur).

Una vez ya tenemos todas las imágenes convertidas al tamaño deseado y ordenadas cronológicamente y nombradas secuencialmente (1.jpg, 2.jpg, 3.jpg, 4.jpg …), ya sí podemos podemos crear el Timelapse, ya sí podemos usar VirtualDub. Por lo que he leído por ahí es un programa genial que te permite hacer mogollón de cosas, yo me he quedado muy muy en la superficie… En fin, el Timelapse se hace en 10 minutos y el resultado es espectacular.

-FileOpen Video File, nos vamos a la carpeta donde tenemos el lote de fotos y abrimos la primera, en mi caso 1.jpg

-Botón derecho sobre la foto y reducimos tamaño de la imagen al 25% o al 12% para que quepa completa en pantalla (opcional).

-VideoFrame Rate – Para calcular los FPS usamos la fórmula:

FPS número de imágenes / duración deseada de la película (en segundos)

Mi caso, a un lote de 1565 fotos le quiero poner una canción que dura 4:25, o sea, 265 segundos. Hacemos la operación 1565/268= 5,905 Pues eso, FPS=5,905

-VideoFiltersAddResize. Aquí se puede reducir el tamaño de la película resultante a un tamaño absoluto o relativo (por ejemplo un 50% más pequeña); en una primera prueba trabajé con un tamaño de fotos 3872x2592, el más común del lote, y me quedaba una película de más de 20 Gb, New Size le pedí que redujera las fotos un 50% (relative) con lo que se me quedarían con un tamaño 1936x1296, un pelín más que Full HD. En Aspect ratio lo dejé en Same as Source para que no nos lo modifique. Las demás opciones tampoco las toqué. Quedó un tamaño raro que la tele no supo gestionar, así que la segunda prueba la hice con un tamaño standard full HD (1920x1080) y no hubo que añadirle este filtro.
-Se puede previsualizar dándole al botón con el símbolo de Play (triángulo) con una O (Output, salida), en la parte baja de la pantalla.

-Si todo ha ido bien, ahora toca añadir la pista de audio. Nos vamos a AudioAudio from other File – y buscamos la ubicación de la canción seleccionada.

-Finalmente lo grabamos en formato .AVI : FileSave as AVI

En mi equipo 32 bits tardó en procesarlo unos 15 minutos y el resultado fue una espectacular película de 9 Gb en un formato AVI sólo reproducible en PC, una pena…

La solución fue usar HandBrake, software libre para Windows, Mac y Linux. Este genial programa te convierte de la forma más sencilla la película original a cualquier formato: HD, full HD, MP4, MKV, para visualizar en Android, iPhone, Gmail, formato rápido, formato muy rápido… genial…

-En Source eliges la película oríginal.

-En Destination eliges la localización donde quieres que te grabe el vídeo resultante y eliges también el nombre. 

-En Output Settings seleccionas Picture y le dices que no toque el formato, ya eso lo hicimos en Linux con Imagemagick

-Te vas Anamorphic y seleccionas None

-Justo al lado está la opción Cropping; seleccionas Custom y le dices que no corte nada ni por arriba ni por abajo ni por los lados, o sea, tiene que poner 0 en los cuatro lados. 

-Y finalmente, a la derecha está el formato de salida del vídeo: yo elegí full HD HQ (alta calidad) para que se viera perfecto en mi tele full HD.

En unos 15 minutos ya tenía la película convertida a un formato mp4 legible por cualquier reproductor, con una calidad muy buena y un tamaño de unos 300 Mb, bastante manejable, nada que ver con los 9 Gb originales.

Y ya está… un poco laborioso pero el resultado puedo garantizar que es espectacular. Al final decidí cambiar el título de la entrada de Cómo hacer un Timelapse (...) a Cómo hice un Timelapse (...) porque después de usar 5 programas en 2 sistemas operativos más que un tutorial esto ha acabado siendo un testimonio de cómo lo hice, no una guía de cómo hacerlo… seguro que hay formas mucho mejores y más rápidas de hacerlo.

jueves, 11 de mayo de 2017

Actualizar Dropbox en linux

En primer lugar cierras Dropbox y luego borras la carpeta ~/.dropbox-dist (por cierto, recomendable hacer una copia de seguridad por si algo sale mal).

Después arrancas Dropbox y comenzará la descarga y posterior instalación de la actualización.

Si todo ha ido bien ya puedes borrar la copia de seguridad de la carpeta  ~/.dropbox-dist