remove apuntes

This commit is contained in:
sejo 2021-06-19 17:55:39 -05:00
parent baef62644b
commit b2529e8266
5 changed files with 0 additions and 329 deletions

View File

@ -1,14 +0,0 @@
# apuntes
recordatorios de procesos y herramientas computacionales
# línea de comandos
=> ./ffmpeg.gmi {ffmpeg}
=> ./imagemagick.gmi {imagemagick}
=> ./ed.gmi {ed}
=> ./postfix.gmi {postfix}
# web
=> ./jitsi_hacks.gmi {jitsi hacks}

View File

@ -1,15 +0,0 @@
# ed
pequeño editor de texto
# tips
para formatear un texto asignándole cierto número de columnas, primero guarda con 'w' y luego:
```
e ! fmt -w50 %
```
esto toma la salida del comando fmt aplicada al mismo archivo (%), y la toma como contenido del buffer, reemplazando todo lo que había antes.
el comando 'e' es de "edit"

View File

@ -1,112 +0,0 @@
# apuntes de ffmpeg
notas de usos comunes que le doy a ffmpeg
# "trim" / cortar
```
ffmpeg -i input.video -ss 5 -t 20 output.video
```
donde:
-ss es el tiempo inicial
-t es la duracion total del nuevo video
# escalar
```
ffmpeg -i input.video -vf scale=640:480 output.video
```
y para reducir el tamaño del archivo, suele ser útil recomprimir con crf (constant rate factor)
```
ffmpeg -i input.video -crf 24 output.video
```
en teoría 24 es una compresión difícil de percibir. números mayores comprimen más.
# cambio de framerate
```
ffmpeg -i input.video -r 30 output.video
```
o
```
ffmpeg -i input.video -filter:v fps=fps=30 output.video
```
# cambio de "velocidad"
obtiene un video a 2x de velocidad:
```
ffmpeg -i input.video -filter:v "setpts=0.5*PTS" output.video
```
para hacer 60x (por ejemplo, convertir minutos a segundos):
```
ffmpeg -i input.video -filter:v "setpts=0.016*PTS" output.video
```
# concatenar
hacer lista de videos con el formato:
```
file 'archivo1'
file 'archivo2'
file 'archivo3'
```
y luego:
```
ffmpeg -f concat -i lista.txt -c copy output.video
```
# generar video desde serie de img
```
ffmpeg -framerate 30 -i frame-%04d.tif -pix_fmt yuv420p -c:v libx264 <output.mp4>
```
# crop (y exportar desde recordmydesktop)
```
ffmpeg -i out.ogv -filter:v "crop=1280:720:0:0" -codec:v libx264 -codec:a libmp3lame output.mp4
```
# video a partir de una imagen
```
# video de una imagen,
# 10 segundos, 30 frames por segundo
ffmpeg -loop 1 \
-i imagen_verde.png \
-t 00:00:10 -r 30 \
video_verde.ogv
```
# video a partir de serie de imágenes
```
# cambia entre imágenes a 2fps,
# video final a 30fps
ffmpeg -framerate 2 \
-i "%02d.png" \
-pix_fmt yuv420p \
-c:v libx264 \
-r 30 salida.mp4
```
# overlay de imagen sobre video
```
ffmpeg -i input.mp4 -i imagen.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" output.mp4
```

View File

@ -1,141 +0,0 @@
# apuntes de imagemagick
# redimensiona imagen
```
convert imagen.png -resize 100x100 imagen100.png
```
o con -scale, para no interpolar y mantener la apariencia de pixeles
```
convert imagen.png -scale 200% imagenx2.png
```
# reemplaza color por otro
reemplaza azul por blanco:
```
convert imagen.png -fill white -opaque blue salida.png
```
se puede agregar fuzz factor:
```
convert imagen.png -fuzz 45% -fill white -opaque blue salida.png
```
y para convertir a transparente:
```
convert imagen.png -fuzz 45% -transparent blue salida.png
```
# elimina metadatos exif
para imágenes jpg
```
convert foto.jpg -strip fotolimpia.jpg
```
esto re-comprime la imagen, pero puede usarse al mismo tiempo que se redimensiona
```
convert foto.jpg -strip -resize 640x480 fotolimpia_480p.jpg
```
# convierte pdf
## imagen a pdf
por default la conversión sucede en baja calidad, esto la mejora:
```
convert imagen.png -quality 100 -units PixelsPerInch -density 300x300 imagen.pdf
```
## pdf a imagen
para el caso opuesto:
```
convert -quality 100 -units PixelsPerInch -density 300x300 imagen.pdf imagen.png
```
# reduce la cantidad de colores
deja que imagemagick elija qué colores utilizar:
```
convert imagen.png -colors 8 imagen_8.png
```
o con dithering:
```
convert imagen.png -dither FloydSteinberg -colors 8 imagen_8.png
```
en -dither se puede usar None, Riemersma, o FloydSteinberg
# genera mapas de bits
con color plano:
```
convert -size 100x100 xc:'rgb(0,255,0)' imagen_verde.png
```
con ruido:
```
convert -size 100x100 xc: +noise Random imagen_ruido.png
```
# compone/encima imágenes
para componer una imagen con fondo transparente sobre otra que se convertirá en su fondo
```
composite -gravity center imagen_con_alpha.png fondo.png resultado.png
```
# mosaico de imágenes
combina varias imágenes en mosaico, con margen de 0 entre ellas:
```
montage imagen1.png imagen2.png -geometry +0+0 mosaico.png
```
el parámetro geometry indica los márgenes entre imágenes, y opcionalmente sus dimensiones:
```
montage imagen1.png imagen2.png -geometry 100x100+0+0 mosaico.png
```
para asignar fondo transparente al montaje:
```
montage imagen1.png imagen2.png -geometry +0+0 -background none mosaico.png
```
# corta
para cortar una imagen a ciertas dimensiones (wxh) y cierto offset en x,y
```
convert imagen.png -crop 300x300+100+50 +repage recorte.png
```
para quitarte el borde de color constante a una imagen
```
convert imagen.png -trim +repage sinborde.png
```
TODO: notas sobre -chop

View File

@ -1,47 +0,0 @@
# hacking jitsi meet
esta es una colección de funciones de javascript para modificar localmente el diseño/layout de una videollamada de jitsi meet.
las he usado tanto para adecuar el diseño de una videollamada para que sea capturada/retransmitida, como para que todes les integrantes modifiquen el diseño y tengamos un punto de vista similar.
estas funciones se pueden ejecutar directamente en la consola web del navegador, ya sea descendiente de firefox o de chrom(ium) (ctrl+shift+k, o con F12 y eligiendo la tab de consola)
# cambia el color de fondo
esta línea cambia el color de fondo a negro:
```
document.getElementById('largeVideoContainer').style.backgroundColor='black';
```
# deja de mostrar a quienes no tienen video encendido
para cuando hay participantes presentes sin video, en la vista de mosaico:
```
for(c of document.getElementsByClassName('display-avatar-only')){
c.style.display='none'
};
```
# espejea a todos los videos y redimensiónalos
en la vista de mosaico, por defecto une misme se muestra con la toma "en espejo" y todes les demás con la toma "normal".
cuando se trabaja con espacialidades, esta situación puede volverse confusa (e.g. todes queremos señalar a "la izquierda"). con este código podemos unificarnos.
este ciclo hace que todos los videos estén "en espejo", además de que permite que crezcan un poco en el mosaico.
```
for(v of document.getElementsByTagName('video')){
v.classList.add('flipVideoX'); // "espejea"
v.style.objectFit = 'cover'; // "redimensiona"
};
```
# re-ordena
pendiente: código/tutorial para re-ordenar la cuadrícula a una configuración predeterminada.