"Después del juego es antes del juego"
Sepp Herberger

sábado, 20 de septiembre de 2014

Como encoger un PDF escaneado

Es una irritante chorrada, pero siempre me pasa. Escaneo sin fijarme algún documento para enviar por correo y cuando lo voy a adjuntar resulta que pesa 40 megas. Hasta ahora lo que hacía era escanear de nuevo a menor resolución o extraer las imágenes del pdf, reducir la calidad y volver a meterlas dentro con las utilidades convert (del paquete imagemagick) y pdftk.
 
Pero ya no vuelve a pasarme más. El otro día descubrí que con el venerable Ghostscript se puede reducir el tamaño y mantener una buena calidad en el PDF.
 
Primero instalamos los paquetes ghostscript y gsfonts si no lo estaban previamente. Una vez hecho esto, aquí va el script:
 
#!/bin/bash

if [ $# -ne 2 ]
then
  echo "Uso correcto: `basename $0` pdf-origen pdf-destino"
  exit 1
fi
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$2 $1

 
Con esto pude convertir un PDF de 35M en uno de 1.5M sin perdida apreciable de calidad. Si queremos reducirlo aún más, de tal forma que solo sea para verlo en pantalla pero no para imprimir el comando sería:
 
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$2 $1
 
Y ya está listo para enviar....

domingo, 7 de septiembre de 2014

Ver la TDT en Linux con una tarjeta TDT Medion-Creatix CTX917

Bueno, se acabó el veranito, hagámosle un homenaje con la canción Summer Time de la divertida serie Historias Corrientes:

Espero que podáis quitárosla de la cabeza. Bueno, vamos al lío.

En la época de la burbuja, cuando eramos ricos y el interbancario de Frankfurt confiaba en nosotros, era una gozada bajar a la calle la mañana del día de Reyes. No era difícil encontrar ordenadores, monitores y otros aparatejos en la basura, tirados por haber sido sustituidos por flamantes equipos nuevos. Tengo varios equipos montados y funcionando a día de hoy con los deshechos de aquel tiempo tan feliz.

Ahora la cosa está mas puñetera, aún así de vez en cuando llega a mis manos un equipo que el usuario ya no quiere y siempre se puede aprovechar algo. En un PC para desguace que me dieron me encontré una tarjeta de TV un poco rara. Mirando en Internet vi que soportaba DVB-T y por tanto serviría para ver nuestra estupenda TDT española. Tengo un PC para los niños en el pueblo para un saloncito que no tiene TV, así que pensé en ponerla allí.

Naturalmente, el PC tiene un Linux, y ahí empezó la parte divertida. La tarjeta creo que venía en un PC Medion de esos que venden los Lidl y los ALDI y es esta: Creatix CTX917, con chipset Medion 7134. El identificador PCI es 1131:7134.

El lspci me decía:

 03:01.0 Multimedia controller [0480]: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder [1131:7134] (rev 01)
   Subsystem: Hyperparallel Technologies Device [1210:0001]
   Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
   Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR+ INTx-
   Latency: 64
   Interrupt: pin A routed to IRQ 16
   Region 0: Memory at febff000 (32-bit, non-prefetchable) [size=1K]
   Capabilities: <access denied>
   Kernel driver in use: saa7134
   Kernel modules: saa7134

Por supuesto había drivers para Windows, pero eso no me interesa. El Linux la reconocía y cargaba el módulo saa7134 para manejarla, pero no iba la TDT. Despues de forear, investigar y hacer varias pruebas logré hacerla funcionar. Estas son las instrucciones:

1) Instalar los paquetes

apt-get install linux-firmware linux-firmware-non-free dvb-utils

2) Editar /etc/modules y añadir

saa7134-dvb

3) Crear el fichero /etc/modprobe.d/saa7134 con el siguiente contenido:

options saa7134 card=12 alsa=1
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-dvb ; /sbin/modprobe tuner ; /sbin/modprobe tda9887

Los parámetros card=12 alsa=1 son los realmente importantes, ya que dicen al driver que tarjeta tenemos. Además se fuerza a cargar saa7134-dvb en lugar de saa7134, que sería para TV analógica.

Reiniciamos y ya se nos cargan los módulos correctos. Ahora lo primero que haremos será buscar los canales y guardarlos en el sitio adecuado:

mkdir -p ~/.mplayer
scan /usr/share/dvb/dvb-t/es-Carceres  > ~/.mplayer/channels.conf

En /usr/share/dvb/dvb-t/* están los ficheros de frecuencias para los diferentes sitios, en mi caso es es-Carceres (realmente debería ser es-Caceres, pero alguien metió la pata al poner el nombre del fichero).

Una vez tenemos el driver, para ver la TDT hay varias opciones, habría que instalar el paquete correspondiente en cada caso:

  • VLC: es el mas simple y me funciona bien para el uso que le doy. Se ejecuta con (he creado un acceso directo en el escritorio con este comando):

    vlc .mplayer/channels.conf

Para cambiar de canal selecciono Ver->playlist
Para grabar la emisión seecciono Ver->Controles avanzados. Entonces me aparece un botón rojo de grabacion junto a los controles de reproducción, aunque no he probado que tal graba.

  • me-tv: puede importar los canales del channels.conf de vlc, pero no detecta todos. No es muy estable.
  • kaffeine. Hay que seleccionar es-carceres y terrestrial para sintonizar. Si dice que no detecta el dispositivo de video, reiniciar el ordenador. Al hacer el autoescaneo detecta bien todos los canales, incluso los HD. Una vez configurado, se ven muy bien y permite grabar programas. Es un poco lento en los cambios de canal, pero funciona. Lo descarté porque excedía lo que yo necesitaba.

Por detrás la tarjeta tiene solamente el conector de cable coaxial de la antena y el conector S-VIDEO/RCA, ya que no tiene salidas de audio ni conector para mando a distancia. En la placa integrada tiene 3 conectores de 4 pines, que son:

  • blanco    audio-in
  • rojo      audio-out
  • yellow    video-in

En mi caso no ha hecho falta conectarlos a ningún sitio.

Por último, faltaba la antena. En la habitación no hay toma de antena y después de salirme gratis la tarjeta no iba a comprarme una antena de TDT portátil, pudiendo hacer una casera con un cable coaxial sobrante segun este tutorial.

Y ya está, con esta instalación tan lonchafinista ya tenemos televisión en el PC.

Aaaadiós.