Si alguna vez cometieron el terrible error que yo cometi hace poco; el de cambiar los permisos al archivo "/etc/sudoers" en una maquina ubuntu; y luego de eso pierden totalmente el ingreso como "sudo" obteniendo el sigueinte mensaje:
"sudo: /etc/sudoers is mode 0640, should be 0440"
Simplemente tienen que seguir los siguientes pasos:

  • Reinicien la computadora (si no pueden con algun comando de inicio pues caballero de forma manual) :-)
  • Ingresen en modo "recovery" o "recovery/server" desde grub, esto apretando la tecla "Esc" antes que el sistema inicie.


  • Empezara a iniciar el sistema como de costumbre para luego preguntarnos en que modo deseamos que inicie; escogemos:
    • root Drop to root shell prompt

  • Estando en el prompt de root, ejecutamos lo siguiente:
    • chmod 0440 /etc/sudoers
  • Reiniciamos el sistema y listo....continuamos con nuestras cosas como si nada hubiera ocurrido.
Espero les sirva saludos.
(Preparación del servidor para trnascodificación al formato FLV flash con herramientas opensource)

Preparación del servidor de video streaming


  1. Requerimientos


    1. Hardware:

Lista de requerimientos óptimos para la correcta utilización y optimización del servidor de video streaming.

  • Disco duro de al menos 200GB.

  • Procesador dual de 2.6GHz como mínimo.

  • Memoria RAM de 1GB

  • Sistema operativo Linux o MacOS.


    1. Dependencias de software

Lista de dependencias de software en sistemas GNU/LINUX y MacOS.


  • gcc

  • Perl

  • ncurses

  • zlib

  • glibc-devel

  • autoconf

  • automake

  • lame

  • lame-devel


  1. Instalación


Instalación del software base para la posterior implementación del sistema de video streaming bajo demanda (VoD). Recordar que la instalación se centrara básicamente para el sistema operativo MacOS y se debe ejecutar como root.


macports

Descargar desde http://www.macports.org/ el paquete (.pkg) macports e instalarlo, acto seguido ejecutar lo siguiente:

$ sudo port –d selfupdate


twolame – libtool-devel

$ sudo port install twolame

$ sudo port install libtool-devel


lame

Descargamos lame desde http://lame.sourceforge.net/download.php

$ tar –xvzf lame***.tar.gz

$ ./configure

$ make

$ sudo make install


nasm – yasm – perl-dbi

$ sudo port install nasm

$ sudo port install yasm

$ sudo port install perl-dbi


ffmpeg

$ cd /usr/local/src

$ sudo svn export svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

$ cd ffmpeg

$ ./configure --enable-libmp3lame --disable-mmx

$make; sudo make install


flvtool2

Descargar flvtool2 desde http://www.inlet-media.de/flvtool2/

$ tar-xvzf flvtool***.tgz

$ cd flvtool***

$ ruby setup.rb config

$ruby setup.rb setup

$ sudo ruby setup.rb install


p5-* (paquetes perl)

$ sudo port –v install p5-class-data-inheritable

$ sudo port -v install p5-exception-class

$ sudo port -v install p5-readonly


AMF-Perl

Descargar AMP-perl desde http://search.cpan.org/~simonf/AMF-Perl-0.15/lib/AMF/Perl.pm

$ tar -xvzf AMP-Perl***.tar.gz

$ cd AMP-Perl***

$ perl Makefile.PL

$ make;make test;sudo make install


Data-TemporaryBag

Descargar Data-TemporaryBag-0.09.tar.gz desde http://search.cpan.org/~ysas/Data-TemporaryBag-0.09/TemporaryBag.pm

$ tar -xvzf Data-TemporaryBag***.tar.gz

$ cd Data-TemporaryBag***

$ perl Makefile.PL

$ make;make test;sudo make install


flv2swf

flv2swf se encuentra incluido en FLV-Info-0.17. Descargar FLV-Info-0.17 desde http://search.cpan.org/~clotho/FLV-Info-0.17/bin/flv2swf

$ tar -xvzf FLV-Info-***.tgz

$ cd FLV-Info***

$ perl Makefile.PL

$ make;make test;sudo make install


SWF-File

Descargar SWF-File-0.42 desde http://search.cpan.org/~ysas/SWF-File-0.42/lib/SWF/File.pm

$ tar -xvzf SWF-File***.tar.gz

$ cd SWF-File***

$ perl Makefile.PL

$ make;make test;sudo make install



Funciones básicas para la tarea de transcodificacion


Para importar un video de cualquier formato al formato de video flash "flv" con las herramientas anteriormente instaladas procedemos de la siguiente manera:


  1. Importando al formato flash de video: FLV


Hacemos uso del programa "ffmpeg" de la siguiente manera:


$ ffmpeg -i video_in.avi -ar 22050 -r 30 -ab 32k -b 1024k -f flv -s 320x240 video_out.flv


donde:

i : Nombre del video a codificar

ar : Audio sampling rate (Hz)

ab : Audio bit rate

f : Formato

s : Tamaño de salida del video (XxY)

r : Fotogramas de video por segundo

b : Video bit rate


Las opciones mencionados con anterioridad son totalmente variables y dependen en su totalidad a parámetros deseados que el video resultante pudiera tener, tales como: mayor tamaño, mejor calidad, peso del video, etc.

Como resultado de diversas pruebas y análisis en relación al formato de encapsulamiento y transcodificacion a formato flash, análisis del tamaño del video resultante, ancho de banda disponible, reproductores para video de formato flash y programas de código abierto como el ffmpeg, se ha llegado a las siguientes conclusiones:

    • El formato flash de video puede ser reproducido con gran facilidad por casi un 100% de navegadores web existentes en la actualidad, por lo que la difusión de video se hará haciendo uso de del formato flash "FLV".

    • Las opciones recomendadas para la codificación de videos a formato flash haciendo uso del ffmpeg son:

ar : 22050

ab : 32k

b : 1024k

s : 640x480

r : 30


  1. Manipulación de metadatos en el formato flash de video "FLV"


Para introducir datos como el tiempo de duración del video en flash utilizamos el programa flvtools de la siguiente manera:


$ flvtool2 –U video_in.flv


La sentencia mostrada arriba permitirá introducir metadatos al video codificado a formato flash, tales como tiempo de duración del video, subtítulos, etc.


  1. Conversión del formato de video flash streaming "FLV" al formato de video flash archivo "SWF"


Si bien es cierto que ambos formatos FLV y SWF son formatos flash de video, dichos formatos son usados para propósitos diferentes. Tenemos que el FLV es para emisión de video (video streaming) mientras que el formato SWF es para guardar archivos de video completos.

Para convertir del formato FLV al formato SWF de flash procedemos a ejecutar lo siguiente:


$ flv2swf video_in.flv video_out.swf


Openssh-server es una aplicación bastante utilizada hoy en dia para el acceso seguro hacia una computadora y/o servidor; este servicio permite el acceso a nuestro servidor encriptando nuestro password y datos y trnasportandolos de una manera sergura. Pero que sucede en los casos en donde nuestro servidor es atacado por fuerza bruta para el intento de acceso mediante ssh a nuestro server?; par estos casos recomiendo los siguientes tips:

Cambio del puerto por defecto del servidor ssh
En primero lugar debemos de cambiar el puerto en donde nos conectamos por ssh; para ello editamos el archivos de configuración /etc/ssh/sshd_config y en la seccion "Port 22" cambiamos a "Port 2222"(o algún puerto de su preferencia)
asi mismo agragamos las siguientes lineas:
DenyUsers root finadmin
DenyGroups root finadmin
Esto para que el usuario root no pueda auntenticarse mediante ssh (recomendable). Procedemos a reiniciar el servicio ssh.
 
Bloque del servicio ssh en intentos fallidos: UBUNUTU
Instalamos el paquete fail2ban

#sudo apt-get install fail2ban

Editamos el archivo de configuracion /etc/fail2ban/jail.conf y agregamos las siguientes lineas:

[ssh]
enabled = true
port = ssh,sftp
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 1200

Esto permitira banear durante 10 minutos las ip's, que realizan 5 conexiones fallidas a nuestro sistema por ssh.
Procedemos ahora a reiniciar el fail2ban.



Muchas veces me ha pasado que estando en mi computadora tengo la necesidad de acceder a dos redes diferentes (por 192.168.1.0/24 192.168.2.0/24); para esos casos una forma simple de enrutar los paquetes diferenciando por número IP de destino realizamos lo siguiente (ubuntu):

* Añadimos el archivo de configuración "ruteo_estatico.sh" dentro de la carpeta "/etc/network/if-up.d" y agregamos las siguietnes lineas:

#!/bin/sh
/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw <IP de la interface de salida>
/sbin/route add -net 192.168.2.0 netmask 255.255.255.0 gw <IP de la interface de salida>


La configuración presentada arriba permitirá que las rutas se cargen al prender la computadora.


Many times we encourage the development of new technologies to bring us more communication ways (VoIP, Videostreaming, Chats, Messaging, Internet, etc) and make the thing easy to do. Always looking for a "Better life".... BUT is this true?

Almost Not!
We , the service's customers, have to analize how can we help to reach the goal("Better life") by shutting down equipment not in use, saving energy, teaching people how to do it.

Hoy en dia con el tema de la crisis económica mundial y demas temas económicos, muchas empresas optan por la reducción de costos utilizando tecnologías existentes. Tal es así que el tema de telefonía IP y VoIP es muy usado en pequeñas y medianas empresas, y es en este escenario donde surge una aplicación muy conocida y obviamente de código abierto "Asterisk". No voy a hacer referencia a esta aplicacion o softwitch (que por cierto es muy usada) sino mas bien les mostrare como ustedes pueden crear e instalar una aplicacion para poder recibir llamadas desde una pagina web, el muy conocido Click2Call.
Hola a todos; bueno navengando en internet hace un par de años buscando aplicaciones para realizar emisión de video en vivo (live video) y en diferidos (Video on demand) me encontre con esta potente aplicación que además de realizar lo que estaba buscando pues es de código abierto (viva la filosofíoa del código abierto), es la llamada VideoLan Client o VLC; quizá muchos de ustedes la han escuchado o incluso ya la utilizan, bueno para aquellos no tan expertos en el tema, pues VLC es un visor de video con soporte de un gran número de formatos y que por si fuera poco puede ser utilizado para capturar y realizar transmisiones de video en tiempo real.
El VLC además de la interfáz gráfica de usuario cuenta con un controlador via web, bastante interesante por cierto, el cual obviamente tambien puede ser modificado a criterio; bueno es de esta manera jugando un poco con los tags propios del VLC y algo de javascript pues adapte una interfaz que a mi criterio es bastante buena :-).
Las modificaciones que realiza pueden descargarlas http://code.google.com/p/streaming-server
Aca pongo algunas capturas de pantalla:





Mostramos aca algunas configuraciones con el software proxmox