Entradas

Convertir vídeos con subtítulos para el decodificador TDA Novatech T207 en Debian

El sintonizador TDA Novatech T207 permite la reproducción de archivos con codificación H.264 para el video y AAC para el sonido, pero no es capaz de leer los subtítulos en formato SubRip (.srt), por lo cual se debe incrustar en el archivo final.

Para hacer la codificación se va a utilizar la herramienta mencoder en Debian Wheezy, sin embargo se debe instalar la versión de deb-multimedia ya que esta es la que nos permite utilizar la librería libfaac.

Procedemos a agregar el siguiente repositorio:

deb http://mirror.optus.net/deb-multimedia/ wheezy main
Luego realizamos:

apt-get update
apt-get  install mkvtoolnix mencoder x264 libfaac0
Nos situamos en el directorio donde se encuentra el vídeo origen con el subtitulo .srt y ejecutamos:

mencoder videoOrigen.mp4  -ovc x264 -x264encopts threads=auto:subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid=normal:weight_b -oac faac -vf scale=720:404 -sub videoOrigen.srt -subcp latin1 -subfont-text-scale 3 -o video.avi

mencoder: es el …

Como hacer un repositorio de Ubuntu

Imagen
Si deseamos hacer un repositorio de Ubuntu, debemos instalar debmirror y tener un aproximado de 30 Gb disponibles.


aptitude install debmirror


Luego crear un script (por ejemplo: ubuntu.sh) y colocamos en su interior:


#!/bin/bash

debmirror -h ve.archive.ubuntu.com --method=http -r ubuntu -d karmic,karmic-security,karmic-updates -a i386 -s main,universe,multiverse,restricted --nosource --progress --ignore-small-errors --ignore-release-gpg --ignore-missing-release /var/www/ubuntu


A continuación explico las opciones del comando:

-h ve.archive.ubuntu.com : indica el servidor de donde se van a descargar los paquetes
--method=http : indica el método de descarga
-r ubuntu : indica el nombre de la carpeta raíz
-d karmic,karmic-security,karmic-updates : indica las distribuciones a descargar
-a i386 : indica la arquitectura de los paquetes
-s main,universe,multiverse,restricted : indica la secciones a descargar
--nosource : no descarga los archivos fuentes
--proxy=http://192.168.1.1:3128 : en caso de tene…

Ejemplo de Conexión de C/C++ con PostgreSQL

#include <stdio.h>
#include <libpq-fe.h>

int main()
{
PGconn *conn;
PGresult *res;
int i,j;

conn = PQsetdbLogin("ip","5432",NULL,NULL,"database","user","password");

if (PQstatus(conn) != CONNECTION_BAD)
{
res = PQexec(conn, "select * from tabla");

if (res != NULL && PGRES_TUPLES_OK == PQresultStatus(res))
{
for (i = PQntuples(res)-1; i >= 0; i--)
{
for (j = PQnfields(res)-1; j >= 0; j--)
printf("%s\t",PQgetvalue(res,i,j));
printf("\n"));
}
PQclear(res);
}
}

PQfinish(conn);
return 0;
}


Y para compilar:

gcc db.c -o db -lpq -I/usr/include/postgresql/

Debemos tener instalado el paquete libpq-dev

Reiniciar la consola (Caracteres extraños)

Imagen
A veces luego de ejecutar determinados comandos en una consola, esta pareciera que se dañara y lo que generalmente hacemos es cerrarla y abrir una nueva, sin embargo basta con teclear reset y listo, la consola vuelve a la normalidad.

Teclado en Español/Latinoamericano en GDM

Si necesitamos cambiar la distribución del teclado de GDM, debemos editar el archivo /etc/X11/xorg.conf y agregar lo siguiente:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection

y por último reiniciamos el entorno gráfico:

Ctrl+Alt+Backspace
o
/etc/init.d/gdm restart

Nota: Si queremos el teclado en Latinoamericano colocamos los siguiente:

Option "XkbLayout" "latam"

Traps con Nagios - Icinga

Instalar el agente Net-SNMP en el Servidor.

Como usuario root


apt-get install snmpd
ó
yum install snmpd


Editar /etc/snmp/snmptrapd.conf

doNotLogTraps yes
traphandle default /usr/local/nagios/libexec/traps.sh


Iniciar el demonio receptor de traps

snmptrapd


Como usuario nagios

Editar /usr/local/nagios/libexec/traps.sh

#!/bin/sh
read host
read ip
vars=

while read oid val
do
oid=$(echo $oid | cut -d ':' -f 3)
if [ "$vars" = "" ]
then
vars="$oid = $val"
else
vars="$vars, $oid = $val"
fi
done

ip=$(echo $ip | cut -f 2 -d ' ' | cut -f 1 -d ':' | cut -f 1 -d ']' | cut -f 2 -d '[')
/usr/bin/printf "[%lu] PROCESS_SERVICE_CHECK_RESULT;$ip;TRAP;1;WARNING ($vars)\n" `date +%s` > /usr/local/nagios/var/rw/nagios.cmd


Otorgar privilegios de ejecución
chmod a+x traps.sh

Editar /usr/local/nagios/libexec/traps_ok.sh

#!/bin/bash
echo "Se han limpiados los traps. ("`date`")"
exit 0


Otorgar privilegios de ejecución
chmod a+x trap…

Trabajando con GDChart

Imagen
En estos días estaba tratando de crear unas gráficas provenientes de un archivo .csv para obtener los datos y a la final crear un archivo .png.

Existe una excelente herramienta para php que realiza maravillosas gráficas: pChart, sin embargo necesitaba una solución para trabajar con C/C++ y para ello estoy utilizando GDChart, la cual es una librería que nos permite realizar gráficas sencillas.

A continuación un ejemplo de como realizar una gráfica sencilla con lenguaje C/C++ en debian/ubuntu.

apt-get install libgdchart-gd2-xpm-dev libgdchart-gd2-xpm

Crear un archivo ejemplo.c


#include <stdio.h>
#include <gdc.h>
#include <gdchart.h>
#include <gdcpie.h>

main()
{
float a[3][10] = {{10,12,50,30,10,78,12,50,30,10},{12,50,30,10,78,12,50,30,10,45},{50,30,10,78,12,50,30,10,45,6}};

char *t[10] = { "1", "", "", "", "", "", "","","","F"};
unsigned long sc[2] = { 0xFF8080, 0x8080F…