Etiquetas

555 74HC04 74HC14 74HC165 74LS04 acentos ADC10 Amstrad archivo arduino aristóteles armbian array ass at backup base64 bash Basho bc beethoven Biblia blog bucle c c++ c++11 c++17 C005 cadena Carmina Burana casting CD4017 CD4040 Cine clases Colores connect Consolación a Helvia Consolación a Marcia Consolación a Polibio constante corsair CPC Cristal 32Khz css cursor mouse cut daemon date dead keys Debian directorio disco duro DS32kHz electricidad Electrónica ensamblador entryList epicureismo Estadística estoicismo felicidad ffmpeg filePath filosofia Filosofía firefox flac for fstab funcion Gargantúa gastronomía gilgamesh Ginott gmp gpt grep gtts Hobbes hotkeys html imagemagick inline Javascript kde kernel modulos latex ldr lib-notify Linux Literatura ludoteca macro mapa de bits Matroska mega Microsoft Word Milan Kundera mkvextract mkvinfo mount mp3 mplayer MSP430 msp430F5529 MSP432 Multimedia Musica oop orange_pi pato PIR PL9823 Platón poesía POO en C++ pulseaudio puntero PWM pygame pyqt python QAction qApp QApplication QByteArray QDialog Qdir QFile QFileDialog QImage qlabel QList QListWidget QMessagebox QMouseEvent qpainter QPalette QPixmap QProcess QRegularExpression QRegularExpressionMatchIterator QString QStringList Qt qt5 QToolbar quijote QVector qwidget R Rabelais ratón relé Resonador cerámico samba San Agustín screen Séneca signal slot smart smartctl sox srt static const stdarg.h subtítulos Symbian tar teléfonos móviles temperatura temperatura cpu Temporizador tesseract Timer timestamp Trigonometría tts tutorial uid unicode user USI va_arg va_end va_list va_start velocidad ventilador Voltaire wallpaper xboxdrv xinput xrandr Z80 zip

domingo, julio 30, 2023

Extracción de subtitulos de un contenedor Matroska en Linux

El tema de la extracción de subtitulos de contenedores matroska se está convirtiendo en un tema recurrente. Se ha tratado en 2011, revisado en 2018 y aquí está la versión de 2023.

Herramientas para utilizar con Debian 11.

Obtención de información en linea de comandos:

mkvinfo ma.mkv

 Obtención de información con gui:

mkvToolNix GUI

Extracción de la pista de subtítulos

 Hay que tener en cuenta que mkvinfo numera las pistas de forma distinta que mkvextract. mkvinfo cuenta las pistas empezando por 1 y en mkvextract, la primera pista es la 0. La salida de mkvinfo muestra:

 + Número de pista: 3 (ID de pista para mkvmerge y mkvextract: 2)

|  + Pista UID: 10888806681018786732
|  + Tipo de pista: Subtítulos
|  + Marcador de atadura: 0
|  + ID del códec: S_TEXT/ASS

Los subtítulos están en formato ASS. Aparece como pista 3, por tanto en mkvextract hay solicitar la pista 2.

mkvextract tracks ma.mkv 2:subti.srt  

mkvextract ignora la extensión del archivo de salida, por tanto, si contendor matroska contine subtitulos en formato ass, mkvextract gerera un archivo en formato ass. Por tanto hay que convertir el archivo de subtítulos formato srt. Hay que señalar que si no se necesita específicamente el formato srt, el formato ass tiene más características.

Conversión de formato de los subtítulos de ass a srt.

ffmpeg -i subti.ass -codec:s srt subti2.srt

mas cosas

 

 

martes, julio 18, 2023

Script en bash para encender y apagar un monitor.

 1. Programas externos.

1.1. Enviar notificaciones al escritorio gráfico: notify-send

Instalar lib-notify-bin. Tutorial

Uso:

notify-send -a "Dell control" "Este script no funciona sin un parámetro."


1.2 Encender y apagar el monitor: xrandr

Encender:

xrandr --output $SALIDA --auto --right-of HDMI-A-0

Apagar:

xrandr --output $SALIDA --off


2. Comprobaciones preliminares

2.1 Comprobar existencia del parametro

if [  -z "$1" ]; then
    notify-send -a "Dell control" "Este script no funciona sin un parámetro."
   echo "no hay parámetro. abortar"
   exit 1
fi

2.2 . Encontrar los datos del monitor:

INFO=`xrandr |grep $SALIDA`
echo "info: $INFO"

2.3. Comprobar que el monitor identificado como $SALIDA existe

PRIMERO=`echo "$INFO" | awk '{print $1}'`
echo "PRI: $PRIMERO"

if [ "$PRIMERO" != "$SALIDA" ] ; then
    echo "No se encuentra patalla $SALIDA."
    notify-send -a "Dell control" "No se encuentra la pantalla $SALIDA."
    exit 1
fi

3. Comprobar que el monitor esta encendido. 

La parte más oscura es comprobar el estado del monitor. El comando randr  muestra una sutil diferencia entre  el estado del monitor encendido y o apagado. Cuando está encendido muestra las medidas físicas del monitor; apagado, no.

3.1. La diferencia en xrandr

Encendido:

DVI-D-0 connected 1680x1050+1920+0 (normal left inverted right x axis y axis) 473mm x 296mm

Apagado: 

DVI-D-0 connected (normal left inverted right x axis y axis)

3.2. Encontrar la diferencia con el script

ULTIMA_PALABRA=`echo "$INFO" | awk '{print $NF}'`

if [[ $ULTIMA_PALABRA == *"mm" ]]; then   
    # Si la última parabra es una medida, el monitor está activo. apagarlo
    echo "Esta activo. Apagar"
    xrandr --output $SALIDA --off
    notify-send -a "Dell control" "monitor auxiliar $SALIDA apagado."
else
    # el monitor no está activo. encenderlo
    echo "No esta activo. Encender"   
     xrandr --output $SALIDA --auto --right-of HDMI-A-0
     notify-send -a "Dell control" "Monitor auxiliar $SALIDA encendido."
fi



domingo, julio 16, 2023

Copiar el contenido del portapeles usando javascript en firefox

 firefox: conguración en about:config
Versión 102: 

  • dom.events.testing.asyncClipboard=true

Versión 103+:

  • dom.events.testing.asyncClipboard=true
  • dom.events.asyncClipboard.readText = true

 

 javascript

document.getElementById('boton13').onclick = function (){
    navigator.clipboard.readText()
    .then((text) => {
        if (text=="")
        {
            alert ("El portapapeles está vació o el contenido no es texto.")
            return;
        }
        insertText(text);
    })
    .catch((err) => {
        alert("Error al leer el portapapeles");
        console.error('Error al leer del portapapeles: ', err);
    });
}

viernes, julio 07, 2023

Carga de modulos del kernel durante el arranque

 Válido para Debian 12

/etc/modules-load.d/modules.conf

El archivo /etc/modules-load.d/modules.conf es un archivo de configuración que el sistema operativo Debian lee durante el proceso de arranque. Este archivo contiene una lista de los nombres de los módulos del kernel que deben cargarse al inicio. Cada módulo se especifica en una línea separada.

Ejemplo:

...

coretemp
it87
...

El módulo 'coretemp' proporciona la capacidad de monitorear la temperatura de los núcleos del CPU, mientras que 'it87' es un controlador de hardware comúnmente utilizado para monitorear voltajes, temperaturas y velocidades de los ventiladores.