domingo, 4 de enero de 2015

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 programa que permite hacer la conversión del vídeo.

videoOrigen.mp4: Es el archivo que contiene el vídeo Original. Puede estar en otro formato que no sea .mp4 (avi, etc).

-ovc x264: Le indica a mencoder que el vídeo va a ser codificado usando la utilidad x264.

-x264encopts: Son las opciones utilizadas para x264. Coloque las recomendadas para una mayor calidad en la pagina.

-oac faac: Le indica a mencoder que el audio va a ser codificado usando la librería libfaac0.

-vf scale=720:404: este parámetro es opcional y lo utilizo para escalar el vídeo a la resolución 720x404 (Aspecto 16:9)
 ya que el codificador los reproduce con mayor holgura. Si el vídeo es de menor resolución, se debe omitir para no afectar la calidad.

-sub: Se indica el archivo .srt

-subcp: Se coloca la codificación (latin1, UTF8, etc)

-subfont-text-scale: Se indica el tamaño de escala de la fuente.

-o video.avi: Archivo .avi que luego se debe convertir a .mkv para que lo reconozca el decodificador.

Y para finalizar se convierte el archivo resultante en un .mkv de la siguiente manera:

mkvmerge video.avi -o videoFin.mkv

El videoFin.mkv se copia en una memoria USB y se podrá reproducir en el decodificador.




miércoles, 17 de febrero de 2010

Como hacer un repositorio de Ubuntu


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 tener un proxy, indicamos la ip y el puerto
/var/www/ubuntu : lugar donde se guardara el espejo

Podemos colocar una tarea en el cron para que este script se ejecute de forma automática.

En las máquinas clientes colocamos la ruta del repositorio de la siguiente forma:

deb http://192.168.100.1/ubuntu/ karmic main universe restricted multiverse
deb http://192.168.100.1/ubuntu/ karmic-security main universe restricted multiverse
deb http://192.168.100.1/ubuntu/ karmic-updates main universe restricted multiverse

martes, 27 de octubre de 2009

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

sábado, 17 de octubre de 2009

Reiniciar la consola (Caracteres extraños)


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.

martes, 11 de agosto de 2009

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"