Skip to main content

the avatar of Alberto Garcia

Actualización a openSuse 13.2

Creo estar hace tiempo curado de versionitis informática, a saber: esa manía/costumbre/way-of-life de andar instalando/actualizando programas y sistemas operativos constantemente, de forma compulsiva y (sobretodo) innecesaria.Disipador de la CPUO al menos yo lo intento, el problema es que los programas avanzan independientemente de lo que tu quieras hacer con tu consumismo informático y lleva un día en que si quieres probar algo que no existía dos años atrás no puedes porque directamente el mínimo exigido para funcionar está muy por arriba de donde tu te quedaste. Digikam, GIMP, etc.. hace ya tiempo que habían dejado de ser actualizables. Los repositorios oficiales de openSuse 11.4 fueron cancelados hace tiempo, aunque gracias a repositorios independientes y compilando por mi cuenta puede ir soluciando cuestiones.
A principios de Diciembre para probar ya no recuerdo que cosa, decidí que actualizarías las KDE y a partir de ahí ir actualizando hasta resolver todas las dependencias que surgieran. Todo bien hasta que llegó el momento de reiniciar y llegaron los problemas llegó el problema. Después del reinicio el sistema no arranca, ni produce pitido alguno, ni era posible acceder al SETUP de la BIOS. Con el polímetro mido la fuente de alimentación, que funcionaba correctamente. Quité todo los módulos de memoria (no pita), desconecté los discos duros (no pita), a la placa base parecía darle lo mismo que hubiera o no memoria y discos duros. Placa base muerta. Sospecho que el problema podría venir por la pila botón de la placa. Este ordenador, salvo que ocurra algo raro no se apaga nunca y prácticamente se reinicia una vez cada tres meses. Está montado sobre un SAI de 600W con lo que ni los cortes de luz lo apagan. Tengo el pálpito indemostrable de que la pila estaba agotada y fué responsable de que en el momento del reinicio se dañase el arranque de la BIOS. Probé a cambiar la pila, a resetear con hardware con los jumper de la placa pero con nulo éxito.
Nueva placa…, y claro, casi todo los adosados a ella. La nueva motherboard solo trae conexiones SATA, a mis discos ATA/IDE les dió la risa. La memoria RAM ya no es DDR2 con muesca en el pin 32 (es un decir) sino DDR3 con muesca en el pin 34. El socket del procesador también cambia. En fin, pude conservar la propia torre ATX, la fuente de alimentación, gráfica Nvidia y la capturadora. Todo lo demás es nuevo. Afortunadamente los discos duros están como nuevos y funcionan perfectamente por lo que en las últimas semanas ha tocado recuperar configuraciones y archivos al nuevo sistema y reconfigurar todo.Esquema montaje dispositivos

Ahora este servidor web de Cuaderno de campo corre un openSuse 13.2 a 64bits con ATHLON de cuatro núcleos a 4.3Ghz, 8Gb RAM, la misma Nvida de antes (GT630) y tres discos duros (2 SATA y IDE+Adaptador) que suman unos 2,3 Tb, mas su correspondiente DVD, lector de tarjetas, tarjeta TV de ocho canales para las webcams, USB 3.0, etc…

Lo nuevo en openSuse 13.2

Obviamente si vienes de openSuse 11.4 los cambios en el sistema son poca cosa pero algunos si que me han pillado por sorpresa.
Por ejemplo la distribución por defecto de las particiones de instalación del sistema han cambiado bastante. Ahora / se instala por defecto separado de /home (algo que ya hacíamos muchos antes de forma manual) y se pasa del sistema Ext2 ó Ext3 a BtrFS para root y XFS para /home

Xorg.conf también ha cambiado. De hecho es que ahora mismo ignoro completamente donde está mi viejo /etc/X11/xorg.conf donde se definía el entorno gráfico y periféricos del ordenador. Pero mira (y esto también es una novedad, y de las buenas) el reconocimiento de gráficos y auto-configuración ha funcionado de perlas. Ha reconocido tarjeta integrada y PCI-Express NVIDIA, 2 Monitores LCD con Twinview tan bien que no se ni donde está el archivo de configuración, ale!! a-lo-windows!! :)
Eso sí, tuve que instalar los drivers propietarios de NVIDIA porque los drivers libres de Nvidia-Nouveau no han cambiado, igual que antes siguen fallando.

El sorpresón de los buenos a sido comprobar que la capturadora TV de 8 canales de EBay que usaban en mis anteriores 32 bits sigue funcionando en 64bits. La daba casi seguro por muerta ya entonces el módulo BTTV del Kernel estaba muy obsoleto y abandonado, con lo cual las posibilidades de que siguiese vivo eran mínimas. Pero ahí sigue, vivo y funcionando igual de bien. Otra cuestión es MOTION, el programa de detección de movimientos, que también está abandonado desde 2011 y que no soy capaz de compilar con soporte FFMPEG por lo que ahora las cámaras ahora no graban vídeo, solo foto. Tendré que investigar más.

Ha cambiado también la ubicación donde se montan los dispositivos. Desaparece el /media/xxxxx a donde iba el pendrive/dvd y ahora se monta todo en /var/run/media/xxxx. Parece una tontería pero estos cambios en la ubicación de archivos comunes en el proyecto openSuse personalmente me crispan los nervios. No es /usr/local/bin sino /usr/bin, no es /usr/share sino /opt/kde. Si el programa viene de Debian probablemente se instale en /usr/share/, los de Google en /opt/google y los de Fedora en /usr/local/share. Ahora probablemente haya vuelto a cambiar. Conviene tenerlo en cuenta especialmente cuando se instalan librerías procedentes de otros sistemas ó “genéricas” y con las que acabas teniendo el disco duro con las librerías de Python repartidas como si las hubieses lanzado sembrando alfalfa.

He observado también cambios en archivos de sistema como syslog, la integración de UDEV y otros, pero que apenas he tenido tiempo de probar.

A tortas con KDE4

Ahora que para susto el primer inicio del KDE4. La configuración estética por defecto (nunca mejor traído lo de “defecto”) deja mucho que desear. OpenSuse necesita contratar algún director de arte de manera urgente, feo de cojones.Primer pantallazo. DIOS que es esto?
Ojo, no digo que openSuse/KDE4 sea en sí mismo feo sino el primer arranque, lo que uno se encuentra si deja al instalador solo trabajando 2 horas. Por suerte openSuse/KDE4 es suficientemente flexible como poder arreglarlo sin mucha dificultad en profundidad y a muchos niveles (espantoso color de las sombras de ventana, fuentes muy pequeñas, distribución del escritorio sosa y fea, fondo de escritorio pa-matar-a-alguien, etc…). Lamenté en su día dejar KDE3 y pasar a KDE4 y conforme avanza su desarrollo no termino de abandonar esa idea. KDE4 da sensación frágil e inestable. Ese follón escritorios virtuales llamado actividades soy incapaz de entenderlo y verle utilidad. Los widgets fallan si falla el escritorio y viceversa, ni te cuento como se te ocurra mover widgets entre dos monitores o la cantidad de veces que he tenido que escribir Cartagena en el Widget del clima, el panel de control de KDE4 (systemsettings) tiene organizadas las herramientas de una manera que no consigo memorizar o comprender por más años que pasen. En general el aspecto gráfico y ergonómico de KDE4 es muy mejorable, pero se salva porque sigue siendo el mejor (al menos de los que yo he probado: Gnome, XFCE, LXDE, FVWM, Windowmaker, IceWM )
Una vieja foto y un escritorio nuevo y mucho más bonito y útil

Kwin (gestor de ventanas) a variado poco (afortunadamente) unicamente para integrar mejor los efectos con el sistema y hacerlos más estables. Funcionan realmente bien sin hacer nada.

Por fín ha exterminado aquel engendro del demonio que era Stigri/Nepomuk. Un proyecto muy ambicioso de búsqueda semántica en el escritorio pero que realmente convertía KDE4 en una puñetera locura de fallos, preguntas, molestias constantes al usuario y sobre todo un consumo de recursos bestial.
Lo viene a sustituir Baloo, que pretende los mismo pero con una configuración simplificada a un simple ¿Activar/Desactivar Baloo?.
Bueno, ni lo uso ni me usa, no me puedo quejar.

Bluetooth funciona perfectamente tal y como se instala. Conecta el teléfono con el PC y podemos enviar/recibir archivos con un click ó escuchar la música del teléfono por los altavoces del PC. Sin tocar ningún HCITOOL, Rfcomm ni configuración ninguna.

Cosas que hacer inmediatamente después de instalar openSuse 13.2

Instalar los repositorios de Packman (http://packman.inode.at/suse/openSUSE_13.2/Extra/). De los fundamentales donde encontraremos casi de todo.

Y Kaffeine sigue existiendo. Sip. Increíble pero cierto: el reproductor por defecto de KDE4 después de una instalación standard del sistema no es capaz de reproducir un MP4 ni un AVI/Divx sin emitir error con los codecs. Así es que lo primero es desinstalar Kaffeine e instalar un reproductor serio de vídeo sin florituras, MPLAYER, es perfecto. Lo abre todo sin pestañear. Basta definirlo como reproductor por defecto y listo. Solo vídeo.Viewnoir, interfaz invisible

Tres/cuartos pasa con el visor de imagen, no es normal que para ver un triste JPG haga doble click y se abra por defecto Gwenview (un navegador de álbumes multimedia), ó peor Showfoto/Gimp (editores) que se llevan 6-7 segundos en arrancar cuando lo que quiero en un 99% de los casos es simplemente ver la foto en grande.
Antés usaba GQview un visor para Gnome muy rápido y potente. Ahora me he pasado a Viewnoir, prácticamente igual. Muy rápido, abre cualquier formato de imagen y puedes configurarlo para que muestre únicamente la imagen, sin interfaz. La rueda del ratón y las teclas habituales permiten desplazarse por el resto de imágenes del directorio en que te encuentras, hacer zoom, rotar, etc…

Miniaturas de vídeos. Para mi gusto es fundamental que el icono de un vídeo permita identificar su contenido sin siquiera reproducirlo. Increíblemente KDE4 no instala ningún thumbnailer para vídeos a pesar de que hay dos que funcionan perfectamente y están en los repositorios habituales Mplayerthumbs y Ffmpeg-thumbnailer. En mi caso prefiero instalar una versión embellecida del primero que ya os enseñé por aquí hace la tira de tiempo.Miniaturas de los vídeos, MplayerThumbs parcheado

Instalar SPOTIFY para hacer todo lo anterior con música es ahora mucho más fácil que antes que había que andar trampeando con un DEB de Debian para instalarlo, ahora se instala directamente desde los repositorios y YAST sin problemas.

a silhouette of a person's head and shoulders, used as a default avatar

the avatar of Iterativo e Incremental

DVD – Ripear solo audio

Tengo un DVD de un concierto en vivo, y quería pasarlo a mp3, un archivo mp3 por canción. El concierto estaba en el Title 2 del DVD, y cada canción es un ‘chapter’ del Title 2. Entonces, el script bash quedó así: #!/bin/bash for i in {1..33} do mplayer dvd://2 -chapter $i-$i -dvd-device /dev/sr0 -dumpaudio…Más

the avatar of Alberto Garcia

Integrar PushBullet en KDE4

Hace un tiempo en mis listado de aplicaciones fundamentales para Android os comentaba el servicio PushBullet. Para quien todavía no lo conozca es un servicio online que permite la compartición de archivos, fotos, enlaces y texto entre un servidor y varios clientes. Este servicio se instala como plugins (Firefox/Chrome), programa de escritorio (Windows) ó App (Android) en todos aquellos dispositivos que queramos que formen parte de una “red privada” y desde ese momento es absurdamente fácil enviar un PDF desde nuestro PC a nuestro teléfono, un ZIP al teléfono de un amigo, o un POWERPOINT lleno de malware al escritorio de nuestro jefe. Y viceversa.
Faltaba una aplicación de escritorio para GNU/Linux, pero puesto que los desarrolladores de PushBullet han tenido a bien habilitar el acceso al servicio con una sencilla API de acceso veréis como integrar PushBullet en el menú de contexto del ratón en KDE4 (y por extensión en cualquier otro escritorio Linux) es coser y cantar.

La idea es activar una acción en el menú de contexto del ratón en KDE4 que permita mediante un simple click enviar un archivo de cualquier tipo a nuestro móvil.

1. Regístrarse e instalar app

Obviamente lo primero es estar registrado en el servicio. Gratuito.
Después de registrarte instala la applicación oficial para Android. Asegúrate de que todo funciona correctamente y puedes enviar/recibir archivos desde tu escritorio al móvil usando la página https://www.pushbullet.com y viceversa.

Una vez tienes todo instalado y funcionando correctamente necesitas obtener dos datos: tu token de Acceso y el Identificador de dispositivo en Pushbullet del móvil al que quieres enviar los archivos desde el escritorio. El token de acceso lo tienes aquí (guárdalo para usarlo más adelante).
El Identificador de dispositivo de tu móvil en Pushbullet lo obtienes en la página principal de Pushbullet.
A la izquierda verás la lista de dispositivos que tienes conectados (uno ó varios), cliquea sobre uno de ellos y verás que la url del navegador cambia a algo como
https://www.pushbullet.com/?device_iden=asdf1234asdf1234
lo que va después del signo igual (en negrita) es el ID de tu dispositivo. Apuntalo para usarlo más adelante.

Ninguno de estos dos datos deberías compartirlos públicamente.

2. Script bash de subida

El script es muy sencillo. Con las credenciales obtenidas anteriormente sube cualquier archivo al servidor PushBullet en Amazon. Después de subirlo obtiene la url del archivo y la envía al móvil. Al teléfono entonces nos llega un aviso con un enlace a dicho archivo, ó la imagen (caso de tratarse de un GIF, PNG, JPG) ó archivo de audio, etc, etc…

Descarga el script bash desde aquí, guárdalo y edita.
Donde pone:tokenA="1234asdf1234asdf1234"
Reemplaza y pon tu token de Acceso que obtuviste anteriormente
Donde pone passwordPushBullet="12345678"
Pon tu contraseña de acceso a Pushbullet
Donde pone dispositivo="12345678qwerty"
Reemplaza y pon tu Identificador de dispositivo obtenido anteriormente.

Guárdalo en (p.ejem) /home/tu-usuario/bin/pushbullet.sh y hazlo ejecutable (chmod +x /home/tu-usuario/bin/pushbullet.sh).
Listo, ahora puedes abrir un terminal y escribir pushbullet.sh /home/tu-user/Desktop/imagen.jpg
Si el primer argumento es un archivo el script lo sube al servidor de PushBullet e inmediatamente te lo envía al teléfono. Si no es un archivo porque por ejemplo has escrito pushbullet.sh "Hola amigos, esto es una prueba" el script lo envía al teléfono directamente como si fuese una anotación. Esto es especialmente útil para enviar largos párrafos de texto al móvil.

3. Personalizar menú de contexto KDE4

Para insertar Pushbullet en el menú de contexto del ratón de KDE4 y que aparezca sobre cualquier archivo.

Abre un editor de texto y pega el siguiente contenido:[Desktop Entry]
X-SuSE-translate=true
Encoding=UTF-8
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all;
Actions=pushbullet
Name=Enviar
Icon=web
[Desktop Action pushbullet]
Name=Móvil via PushBullet
Exec=pushbullet.sh "%f"
Icon=pushbullet

Guardalo en /home/tu-usuario/.kde4/share/kde4/services/pushbullet.desktop. En adelante basta hacer click derecho sobre un icono de archivo y seleccionar Acciones > Móvil via PushBullet para que casi de forma inmediata aparezca en tu teléfono el archivo. (el menú de contexto puede requerir algunos reintentos sobre iconos para que se actualice la caché de KDE4 y aparezca el nuevo menú).

4. Cosas a mejorar

Barra de progreso: No hice ninguna barra de progreso para la subida porque el envío es tan inmediato y rápido que casi se tarda más en abrir/cerrar el diálogo que en recibir el archivo. Pero quizás si estáis pensando en enviar archivos muy grandes si sería interesante añadir algún diálogo de subida.
Errores: Idem de lo anterior. Si algo no funciona el script no avisa ni advierte. Tocará examinar en consola donde está el fallo. Normalmente algún token/password mal escrito.
Subidas múltiples. Actualmente el script solo procesa un archivo en cada ejecución. Si se seleccionan varios se lanzarán varias instancias al mismo tiempo y en este punto ignoro cuales son las limitaciones del servicio de PushBullet. Si no os da por enviar 10 películas de 600Mg al mismo tiempo no debería haber problemas.

the avatar of Iterativo e Incremental

Getting Things GNOME (GTG) y Dropbox

Si si, sincronizar las notas-tareas de GTG con Dropbox. Rapidamente, los pasos que copie de otro blog Despues de instalar gtg y cargar algunas tareas, hacer estos sencillos pasos: mkdir ~/Dropbox/gtg mv ~/.local/share/gtg/* ~/Dropbox/gtg/ rm -rf ~/.local/share/gtg ln -vsf ~/Dropbox/gtg ~/.local/share/gtg Y listo, a probar si funciona la sincronizacion Robado desde El AtareaoMás

the avatar of Iterativo e Incremental

the avatar of Alberto Garcia

Personalizar sitios web a medida sin extras

Hace 10-15 días Facebook hizo algunos cambios de diseño en sus páginas, personalmente no me gustaban nada, pero eran soportables. Los que me dañaban las retinas de verdad eran los cambios que hizo Twitter con la cabecera de su página y con la que consiguió una nueva definición gráfica del triste “feo-de-cojones“.
Muchos usuarios de Firefox y GoogleChrome (en cualquier plataforma) ya sabrán que tienen fácil proteger su integridad artística de los desaguisados de los diseñadores web con multitud de extensiones y herramientas que permiten “customizar” los sitios web que visitamos para verlos tal como nos gustaría: fuentes más grandes, fondos de colores no aberrantes, banners que distraen la lectura, frames con información molesta o irrelevantes y publicidades varias.

Lo que muchos de estos usuarios no sabrán es que no hace falta instalar nada para poder personalizar el contenido mostrado en las páginas que visitamos habitualmente, basta con ser usuario de Firefox ó Google Chrome y tener unos conocimientos básicos de CSS.

Eliminar columna Facebook

En ambos navegadores y cualquiera de los sistemas operativos habituales (Windows, Mac y Linux) el funcionamiento es idéntico: al iniciar el navegador se lee el contenido CSS de un archivo que es aplicado a todas la páginas cargadas a continuación. Por lo tanto para evitar alterar otras páginas diferentes a las deseadas nuestras reglas deberían lo más concretas posibles, evitando reglas CSS genéricas como body {background: red;}.

Los archivos

Los archivos que tenéis que modificar son (aproximadamente):
En Linux
Firefox
/home/tu-usuario/.mozilla/firefox/XXXXXXX.default/chrome/userContent.css
GoogleChrome
/home/tu-usuario/.config/google-chrome/Default/User StyleSheets/Custom.css

En Windows
Firefox
%USERPROFILE%\Application Data\Mozilla\Firefox\Profiles\XXXXX.default
GoogleChrome
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets\Custom.css

En MAC ignoro la ruta, pero imagino que será muy parecida a Linux.

En dichos archivos podéis escribir reglas CSS que se aplicarán a los sitios por los que navegáis modificando el contenido mostrado.

Puesto que son archivos que se cargan al iniciarse el navegador es necesario restaurar este para aplicar los cambios que hagamos.

Ejemplos de uso

Para cambiar la horrorosa cabecera blanca de Twitter por una negra .global-nav-inner {background-color:#333 !important;}
#global-actions li a {color:#fff !important;}
.dropdown-menu a {color:#333 !important;}
Volviendo Twitter a su cabecera negra

Eliminar la tercera columna de Facebook en la que se muestra habitualmente publicidad, encuestas y chorradas varias (mira la primera imagen).#globalContainer {width:720px !important; padding:0px !important;}
#rightCol,#navFindFriends {display:none !important;}
.5r69 {width:100% !important;}

the avatar of Alberto Garcia

Nidal 2014 y streaming de vídeo a Youtube con Linux

Este año le estaba haciendo poco ó ningún caso a las cajas nido de la terraza y a sus webcams, entre otras cosas porque en años anteriores la crianza de los gorriones que las habitan suele ser un rotunda fracaso.
Pero no un fracaso extraordinario, sino un fracaso común y corriente.Y es que los gorriones normalmente ponen 5-6 huevos, nacen todos y van muriendo hasta quedar 1 ó 2 el día que toca salir del nido. De esos 1 ó 2, excepcionalmente, uno sobrevive al primer año. Si prestáis un poco de atención en estas fechas veréis que raramente a un hembra la siguen más de 1 ó 2 volantones, 3 con mucha suerte.

Eso, más o menos es lo normal (al menos es lo que yo llevo observando), lo anormal es que llegue el día en que van a echar a volar y haya en el nidal cinco polluelos (como ocurre actualmente en uno de los nidales de casa) y en un más que sorprendentemente buen estado de salud.

Así es que para celebrar el inminente acontecimiento he conectado la cámara al streaming de Youtube como os indico a continuación y de paso estreno la herramienta de Eventos en directo que apenas he tenido tiempo de probar.

Eventos en vivo

Desde hace un año (aprox. en España) Youtube ofrece la posibilidad de crear lo que ellos llaman Eventos en directo, es decir conectar y ver ( o insertar en tu página ) grabaciones que se están produciendo en ese instante, en tiempo real (o casi). Muy usado para eventos deportivos y conciertos pero también para la retransmisión de webcam y creación de vídeotutoriales (conectas la webcam y le explicas a alguien el método para hacer tal ó cual).

Existen ya varios servicios de este estilo que se han popularizado mucho en internet ( Ustream.tv o Justin.tv ) muy usados actualmente para la emisión en directo de manifestaciones o escraches e imposibilitando de esta manera el secuestro policial del material grabado ya que este se difunde públicamente en el mismo momento que se genera, vaya lo que viene siendo un canales de información en vivo y en directo de cualquiera acontecimiento público.

He probado los tres sitios comentados para la emisión de eventos en directo y creo que me voy a quedar con el de Youtube por varios motivos: Es el más popular, conocido y que llega a más gente. Dispone de soporte para gran número de navegadores y plataformas. Permite un control más personalizado de la publicidad que el canal inserta (normalmente) al inicio de la retransmisión.

Creación de eventos

Los tres sitios que he probado hasta ahora (Justin.tv, Ustream.tv y Youtube) son gratuitos. Todos insertan publicidad (normalmente al principio). Los dos primeros ofrecen la posibilidad de retirar la publicidad mediante pago del servicio. En Youtube en cambio podéis desactivar la inserción de publicidad en vuestros vídeos de forma gratuita (aunque creo que la cuenta tiene que reunir algunas condiciones previas para poder hacerlo).
Todos generan archivos de vídeo de lo emitido desde el canal que van quedando almacenados en el servidor. Todos disponen de aplicaciones/métodos para embeber los eventos en tu página web. Todos disponen de métodos de recepción del flujo de vídeo desde un terminal Linux y todos disponen de su propia aplicación web (normalmente desarrollada en Flash Macromedia) que nos permite hacer lo mismo consumiendo muchos más recursos de nuestro ordenador y obligándonos a mantener abierta la ventana del navegador mientras dure la retransmisión.

Para crear un evento en vivo en Youtube, dirígete a la página de Eventos en vivo y logéate si no lo estás. La cuenta de Youtube desde la cual quieras retransmitir debe estar confirmada (normalmente mediante SMS a tu móvil) antes de poder crear el evento, si la ya tienes confirmada llegarás a una página como esta:
Creación de eventos en vivo

Pulsa crear evento para entrar en la página de configuración. Marca la casilla de abajo “Acepto los términos…” y (IMPORTANTE) la casilla de abajo a la derecha ” TIPO > Personalizar (más opciones de codificación) “.
Observa la hora de inicio del evento. Youtube permite el inicio de eventos en fracciones de 30 min. (9:00, 9:30, 10:00, … ). El inicio de tu evento debería ser posterior al momento en que empieces a enviar datos, es decir: cuando el evento empiece tu ya deberías llevar 3-4 minutos enviando flujo de vídeo. De esta manera se genera una caché que evita que la retransmisión sufra demasiados “parones”.
Pulsa Crear Evento.
Configuración de evento

Entrareis en la página de configuración avanzada del evento donde debéis especificar la calidad de la “ingestión” (creo que “inyección” habría resultado menos digestivo). Para una retransmisión casera standar os aconsejo usar la Ingestión básica > 300kbs – 700Kbps (240px).
Si queréis o necesitáis eventos con muy buena calidad podéis aumentarla gradualmente hasta los HD1080, claro, siempre y cuando vuestra conexión de subida lo permita.

En el desplegable Selecciona tu codificador selecciona Otros codificadores para que la página os muestre las URLs de ingestión. No compartas esta URL.
Copia el contenido de URL del servidor principal y añádele detrás Nombre de la emisión para componer una URL aprox. como
rtmp://a.rtmp.youtube.com/live2/cuaderno-de-cam-XXXX-xxxx-XXXX-xx
Esa es la dirección donde tienes que inyectar el flujo de vídeo con ffmpeg
Configuración de la indigestión
Después de guardar los cambios puedes cambiar arriba a “Sala de control en directo” desde donde la página te informa de si se está recibiendo o no el flujo de vídeo en condiciones ó los errores que hubiera (útil para depuración).
Recepción de datos

Configuración de FFMPEG

Una vez tenemos el espacio de emisión reservado en Youtube procedemos a rellenarlo con el video de nuestra webcam. Para ello con ffmpeg y usando la URL ofrecida por Youtube ( rtmp://xxxxx ) procedemos a codificar la imagen original al formato FLV, vídeo codec libx264 y audio codec MP3. La orden que estoy usando para emitir la señal del nidal de gorriones es:ffmpeg -loglevel fatal -f alsa -i default -ac 2 -f video4linux2 -i /dev/video7 -vcodec libx264 -f flv -r 15 -q 3 -b:v 320k -s 320x240 -acodec libmp3lame -ar 44100 -ab 128k -threads 0 -bufsize 64k -force_key_frames 0:00:01 "rtmp://a.rtmp.youtube.com/live2/cuaderno-de-cam-xxxx_xxxx_xxxx_xxxx"

En las primeras pruebas deberías quitar la opción -loglevel fatal para depurar y buscar posibles errores. Youtube es bastante pelmazo con la calidad del audio y aunque el sonido del nidal no es ninguna maravilla emite errores si le reduzco la calidad por debajo de 128k, 64k o similar.
Todos estos sistemas de streaming de vídeo también suelen dar muchos problemas si tratáis de emitir un vídeo SIN audio. Si por cualquier motivo no queréis insertar sonido os aconsejaría no anularlo sino emitir una pista vacía, por ejemplo cambiando –i default de ALSA por -i /dev/zero, de lo contrario vais a tener problemas casi seguro.

Una vez empecéis a enviar el flujo de vídeo la página de control de la emisión en Youtube os debería mostrar un mensaje del estado de emisión OPTIMO ó en su defecto información relevante sobre el origen del fallo. Si todo va como debería, desde dicha página podéis dar al PLAY para empezar la retransmisión (siempre y cuando la hora de inicio se haya cumplido) y para compartir la URL del evento.
Emisión activa

Respetando los parámetros de configuración deberíais poder hacer la emisión con cualquier otro programa que permita retransmitir vídeo a un servidor RTMP, he preferido FFMPEG porque es mucho más liviano y lo conozco algo mejor pero igualmente VLC podría seros más cómodo.

NotaEn el tiempo en que escribía el apunte parte de los polluelos del nidal han echado a volar. Ahora solo quedan 2. Pero como se puede rebobinar y ver las grabaciones de hace 4 horas podéis que no miento y había 5 polluelos. ;)

the avatar of Alberto Garcia

Telegram, Whatsapp en terminal con Tg-master

A estas alturas ya habrán oido hablar de Telegram, la alternativa libre y gratuita a Whatsapp. Visual y funcionalmente es idéntico a Whatsapp, literalmente es un clon, pero es gratuito y disfruta de las enormes ventajas del desarrollo Open source, una de las cuales es la posibilidad de que a su alrededor crezcan otros proyectos que amplían, complementan y enriquecen el original. Telegram dispone de una API de gestión y control de que se alimentan virguerías como Tg-master: un Telegram para terminal/consola.

A partir de aquí las posibilidades de usar este “Whatsapp libre” desde el ordenador y poder chatear desde un terminal con el teléfono de alguien, y viceversa. Pueden dar un juego inmenso. Podéis enviar mensajes, realizar chats y enviar/recibir archivos de vídeo/foto, mensajes privados, etc. A fecha de hoy (Marzo/2014) tg-master está en fase beta, pero ya me gustaría que programas en fase de producción tuvieran su estabilidad. Funciona perfectamente y es muy sencillo.

Podéis usar Tg-master con vuestra actual número de teléfono compartiendo la cuenta de Android con el ordenador. Al ingresar en Tg-master con el mismo número os llegará un chivatazo al móvil informando que “otro dispositivo se ha conectado a vuestra cuenta” pero sin más repercusiones. Pero claro, las posibilidades más creativas se presentan asignando una segunda cuenta de Telegram a vuestro PC. Aprovechando que tenía un número de teléfono en desuso de tarjeta prepago de mi anterior zapatófono lo he aprovechado para registrar en Telegram una segunda cuenta que es gestionada desde el PC con Tg-master y de esta manera disponer de un canal de chat entre PC y Móvil. Algo muy parecido a lo que ya hiciera con MCABBER (Jabber) (¿alguien se acuerda de aquellas charlas con la máquina?)

Para instalar Tg-master necesitáis descargar y descomprimirwget https://github.com/vysheng/tg/archive/master.zip -O tg-master.zip
unzip tg-master.zip && cd tg-master

Compilad (si es necesario tendréis que resolver dependencias)./configure --prefix=/usr
make

Ahora copiad el binario a /usr/bin y lo hacéis ejecutable para tenerlo disponible desde cualquier sitio.
cp ./telegram /usr/bin/telegram; chmod +x /usr/bin/telegram

Instalación

Una vez compilado e instalado en /usr/bin lo podéis ejecutar por primera vez para registraros en el servicio. En primer lugar Tg-master os pedirá el número de teléfono que queréis registrar en el servicio de Telegram. Introducid vuestro segundo número (con el +34 delante) y al instante os enviarán al móvil (tenedlo encendido cerca) un código de 5 dígitos que habréis de ingresar en Tg-master. Una vez validado ya estaréis listos para chatear con vuestro teléfono (claro os tenéis que agregar mutuamente en contactos).

Tg-master dispone de autocompletado con TAB (como la consola Linux) por lo que los comandos aunque no los conozcáis se escriben rápidamente.

Telegram via terminal

Aunque Tg-master está en fase de desarrollo admite ya un tosco método de ejecución vía stdin recibiendo ordenes directas desde terminal. Para enviar un mensaje un contacto cualquiera en Telegram sin necesidad de entrar en el programa ejecutadecho "msg user#12345678 Mi mensaje al contacto | /usr/bin/telegram -k /home/tu-usuario/.telegram/tg.pub > /dev/null & sleep 1; killall telegram
(la carpeta /home/tu-usuario/.telegram/ se crea la primera vez que ejecutáis Telegram y registráis un teléfono y contiene el archivo tg.pub con la clave pública que debéis adjuntar con cada orden)
Como veis el método es bastante tosco porque requiere matar el proceso a lo bestia dándole un segundo para que envíe el mensaje. (el número de usuario destino lo obtenéis en Telegram haciendo contact_list). Este método es probable que cambien en breve con forme avance el desarrollo del programa.

the avatar of Alberto Garcia

Videoconferencia con cámara digital y marca de agua

Si necesitáis hacer videoconferencia con algo más de calidad de imagen de la que suelen ofrecer las webcams comerciales standard una opción a tener en cuenta es usar nuestra cámara de fotografía ó videocámara.
JVC y su conector VGACasi todas las cámaras digitales modernas, incluso las de gama baja, disponen de una conector salida VGA con la que podemos enviar la imagen a cualquier dispositivo grabador/reproductor como el televisor ó nuestro PC si este dispone de capturadora de vídeo ( si no tenéis tarjeta capturadora en Ebay podéis conseguir modelos PCI muy básicos y perfectamente válidos por 10-15 euros).

Para ver la imagen de cámara (GNU/Linux, openSuse 11.4) simplemente conecta el cable de la cámara a la tarjeta capturadora y en un terminal escribesmplayer tv:// -tv device=/dev/video1:driver=v4l2:width=320:height=240

Aplicar filtros y convertir V4l2 a V4l

Si en algún momento te pierdes hecha un vistazo a este apunte anterior: V4lo2loopback para Linux.
Una vez tengo la cámara conectada al PC cargo el módulo v4l2loopback_dcsudo modprobe v4l2loopack_dc
Creo una tubería
mkfifo /home/trebol-a/tuberia_logo.pipe
Convierto mi logo en formato PNG de 200×80 pixels de marca de agua a RGBA y lo vuelco en la tubería según las especificaciones del filtro de Mplayer.
convert logo.png logo.rgba
(echo "RGBA32 200 80 10 10 0 1"; cat "/home/trebol-a/logo.rgba" ) > /home/trebol-a/tuberia_logo.pipe &

Ahora cogemos la imagen de cámara con Mplayer, la volcamos a otra tubería creada específicamente desde donde yuv4mpeg_to_v4l2 tomará la imagen enviándola al dispositivo /dev/video0 creado por el módulo v4l2loopback_dc.
mkfifo /home/trebol-a/tuberia_mplayer.pipe
yuv4_mpeg_to_v4l2 < /home/trebol-a/tuberia_mplayer.pipe & mplayer tv:// -tv device=/dev/video1:width=320:height=240 -vf bmovl=0:0:/home/trebol-a/tuberia_logo.pipe -vo yuv4mpeg:file=/home/trebol-a/tuberia_mplayer.pipe

Ahora en la consola se quedaría Mplayer codificando en tiempo real la imagen de la videocámara y enviandola al dispositivo /dev/video0 desde donde Skype puede cogerla como si fuese un dispositivo nuevo.
Vídeo con marca de agua en Skype
El filtro bmovl de mplayer lee en tiempo real la tubería tuberia_logo.pipe y sobre imprime la imagen rgba sobre el vídeo. Podéis ajustarlo en tiempo real simplemente haciendo en consola(echo "RGBA32 200 80 45 33 0 1"; cat "/home/trebol-a/logo.rgba" ) > /home/trebol-a/tuberia_logo.pipe &
Donde:
200 = ancho de imagen
80 = alto imagen
45 = posición X de la imagen
33 = posicion Y de la imagen
0 = transparencia del canal alfa
1 = borrar/mantener imagen logo anterior

Obviamente la orden -vf de Mplayer podéis ampliarla con más filtros con los que mejorar la imagen de la videocámara además de añadir la marca de agua.
En mi caso estoy usando:-vf eq2=0.9:1.1:0:1.4:1.0:1.0:1.2,yadif=1,unsharp=l3x3:2,expand=0:-60,bmovl=0:0:/home/trebol-a/.logo.pipe
Donde:
Ajustes de nivel y color: eq2=0.9:1.1:0:1.4:1.0:1.0:1.2
Elimina el entrelazado de videocámara: yadif=1
Enfoca imagen: unsharp=l3x3:2
Panorámica en imagen cuadrada: expand=0:-60
Marca de agua: bmovl=0:0:/home/trebol-a/.logo.pipe