Como descargar archivos usando XDCC

Deja un comentario

Para empezar el año, voy a explicar como descargar archivos usando XDCC (por ejemplo anime). El XDCC es una extencion del IRC, que básicamente permite que al entrar en una sala de chat IRC (por ejemplo de algún fansub) un bot que esta conectado permanentemente a esa sala nos envíe un archivo al mandarle un mensaje especifico.

Para ello necesitamos un programa para IRC que soporte XDCC, muchos les recomiendan en mIRC (que tiene un periodo de prueba), pero yo en este ejemplo voy a usar HexChat que es multiplataforma y código abierto (así que no tengo que aprender a usar un programa nuevo en cada sistema diferente, ni pagar una licencia para seguir usándolo).

Y si se preguntan por que descargaría algo por XDCC, pasa que por ejemplo, en algunos casos algún fansub publicó hace tiempo algún episodio del que ya no existe el torrent (o esta sin seeds) y las descargas directas están caídas, entonces como opción queda descargarlo directamente por XDCC. En general prefiero primero usar un torrent o las descargas directas, no porque XDCC funcione mal (en realidad XDCC funciona bastante bien y rápido), sino que a diferencia de los dos primeros métodos, al usar XDCC usamos parte del ancho de banda de un servidor propiedad (o arrendado) por el fansub, así que prefiero evitarlo para ahorrarle algunos recursos.

Más

configurar la Raspberry Pi como un Media Server “headless” (con SSH + dlna + FTP + NFS + torrent)

Deja un comentario

Ahora voy a explicar como usar una raspberry pi como un servidor “headless” (sin teclado, mouse o monitor), pequeño pero eficiente (consume realmente poca electricidad), para hacer lo siguiente:

  1. Un media server (usando dlna), esto nos permitirá trasmitir imágenes, audio y vídeo desde la raspberry pi, para verlos en otros dispositivos (como por ejemplo una PS3)
  2. Tener un servidor FTP, así podemos copiar de manera fácil archivos desde/hacia la raspberry pi y usarla como almacenamiento.
  3. Que cumpla la función de NAS, o sea que comparta algunos directorios con otros equipos en la red interna. En este caso vamos a usar NFS), que nos va a permitir ver y usar archivos/directorios que estén almacenados en la raspberry pi, como si estuvieran físicamente en los equipos clientes.
  4. Que funcione como una especie de seedbox, así tener un programa en las raspberry pi que descarge torrent por si mismo y los comparta hasta alcanzar un ratio establecido. Ideal para dejar descargando cosas mientras duermes.
  5. Por ultimo que sea un servidor donde podamos ejecutar nuestros propios script o instalar lo que queramos. Para acceder a el lo haremos por ssh.

Para ello necesitamos un router para tener una red interna y suficientes “clientes” (laptops, PS3, smartphones, etc.) conectados a esa red, como para que valga la pena el esfuerzo.

Para configurar la raspberry necesitamos, de manera permanente:

  • Una raspberry pi obiamente (yo voy a usar una modelo B que ya tenia)
  • Una tarjeta SD (o microSD + SD adapter) de 4 o más GB (para el o los sistemas instalados en la raspberry)
  • Un cable Ethernet para conectarla a la red interna (yo desempolve uno que tenia guardado hace años en la caja del router)
  • Uno (o mas) disco externo USB (yo voy a usar uno externo de 2.5 de 1TB)
  • Una fuente de poder o HUB USB alimentado (yo voy a usar un HUB USB dlink DUB-H7 que ya tenia, este va a alimentar a la raspberry y al disco USB)

Ademas de manera temporal neceitamos un lector de tarjetas SD (yo use el de mi notebook) para copiar los archivos a la SD, un monitor o pantalla de TV (con el respectivo cable) y un teclado USB, estos solo lo ocupamos solo para la instalación inicial.

Nota: en este post hay varios comandos que hay que utilizar como root, obiamente pueden usar sudo o ingresar como root para hacer lo mismo si quieren.

Más

Cambiar la contraseña y nombre de usuario por defecto y del root en raspbian

Deja un comentario

Hace tiempo que tengo una raspberry pi (modelo B) asi que voy a publicar algo de utilidad para los que usan raspbian (la version de debian para la raspberry pi) es activar la cuenta root y cambiar el nombre/contraseña de la cuenta por defecto.

1) cambiar la contraseña del root

Para el root nos logeamos con el usuario por defecto (Usuario=pi Contraseña=raspberry) y usamos sudo su

pi@raspberry ~ $ sudo su

Ahora simplemente cambiamos la contraseña a la que queramos con passwd

root@raspberry:/home/pi# passwd

Alli nos preguntara la nueva contraseña para el root

nota: Tambien se podia hacer todo esto en una sola linea haciendo $sudo passwd root

2) Cambiar el nombre y contraseña del usuario por defecto (pi)

En este caso nos desloqueamos del usuario pi (con exit) y nos logeamos como root y usamos el comando usermod -l para cambiar el nombre del usuario y luego el usermod -m -d para cambiar el home de este usuario (la -d es para establecer el nuevo home y la -m es para mover el viejo al nuevo home), o sea hacemos esto:

# usermod -l nuevonombre pi
# usermod -m -d /home/nuevonombre nuevonombre
# groupmod -n nuevonombre pi

Obiamente tienes que reemplazar el “nuevonombre” por el nombre de usuario que quieres. La ultima linea es opcional y lo que hace se renombrar el grupo “pi” al nuevo nombre

Luego deslogea y prueba si los cambios se aplicaron

Si no puedes usar sudo es porque no se actualizo el sudoers, en ese caso tienes que editar (como root) la ultima lina de /etc/sudoers dejandola asi:
nuevonombre ALL=(ALL) NOPASSWD: ALL

3) desactivar la cuenta root (opcional)

En mi caso prefiero mantener activada la cuenta root ya que estoy acostumbrado a trabajar de esta manera en gnu/linux y tengo larga experiencia, pero hay personas que prefieren hacer todo con sudo y en ese caso prefieren desactivar el logueo del root (para disminuir el riesgo de cargarse el sistema), lo cual se puede hacer con sudo passwd -l root:

$ sudo passwd -l root

Nota: tecnicamente esto solo bloquea la contraseña, no desactiva la cuenta root:).

descarga de listas p2p

Deja un comentario

Escribi un pequeño script que al ejecutarlo toma varias listas p2p (como por ejemplo la lista de level 1), las descarga y las une en una sola para usarlas, por ejemplo en un programa tipo bittorrent. Por el momento solo funciona con listas p2p comprimidas en .zip

Si a alguien le interesa lo puede encontrar aquí https://github.com/dbfuentes/update-p2p-lists

Nota para mi: Mas adelante agregar alguna función para eliminar las ip repetidas

8bit vs 10bit

Deja un comentario

Seguramente se pueden haber topado con algunos videos codificados en 10bits, que estan siendo usados especialmente por algunos fansubs de anime, por lo que voy a explicar de que se trata y cuales son sus ventajas.

Lo primero seria explicar a que se refieren los famosos bit, que poniendolo en terminos simples, se refiere a como se guarda/representa cada color. Asi en un modelo RGB los colores rojos (Red), verde (Green) y azul (Blue) pueden tener un valor entre 0 a 255 en 8 bit (2^8) mientras que en 10 bit estos tiene un valor de 0 a 1023 (2^10), por lo cual en 10 bits se obtiene una paleta mucho mas detallada, tal como lo esquematiza la siguiente imagen en que se compara los colores en 10bit (arriba) vs los 8 bit (abajo).

grafico 8bit vs 10bit

grafico comparativo entre 10bit y 8bit

Nota: La imagen esta exagerada para que se note la diferencia

 

¿y cual es la ventaja de usar 10 bit?, basicamente existen 2 grandes ventajas:

 

1) L a primera es que reduce el dithering (partículas de ruido aleatorio) y reduce el banding.

El banding es el efecto en que en un degradado se ven bandas de colores (como escalones) entre un color y otro en vez de una trancición pareja. La imagen a continuación muetra un banding en el cielo, en donde se ven franjas de distintos colores celestes.

color banding

color banding en el cielo

El banding comunmente se ve en puestas de sol o en donde la luz no es pareja o es producida solo en algunos puntos (una luz en medio de la noche o un al mirar un cielo estrellado por ejemplo) o en las sombras. Esto se produce mas notoriamente en el anime, que en las pelicuas o las fotografias (en donde es raro que se produzca ya que estas poseen un mayor ruido). Obiamente en 10bit se logra un degradado más suave en la transición de los colores ya que se dipone que mas valores para el color en comparación a los 8bit.

2) En 10 bit se necesita un menor bit-rate para codificar el video, por lo tanto se ahorra bandwidth en comparacion a los 8 bits (no se cual es el equivalente adecuado en español para bandwidth), lo que en la practica se traduce en uno de estos dos casos:

  1. Manteniendo la misma calidad, se reduce el tamaño del archivo resultante (en comparacion a los 8 bit) o
  2. Se mantiene el tamaño del archivo, aumentando la calidad de este.

Aqui hay una explicacion mas detallada de porque se produce esto (en inglés):  http://x264.nl/x264/10bit_02-ateme-why_does_10bit_save_bandwidth.pdf

 

Ahora no todo es bueno, ya que actualmente no hay decodificadores por hardware (sea GPU o chips especializados) para 10bit, por lo que hay que hacerlo por software, esto no es problema si usas un PC normal para ver videos (y que no sea muy viejo), ya que no vas a notar la mayor carga para el procesador, pero en equipos poco potentes (un atom, una raspberry pi o dispositivos moviles, por ejemplo), tienen problemas para reproducirlos ya que estos no se pueden ayudar en decodificarlos por hardware, como lo haria con un video en 1080p a 8bit y no tiene procesadores tan potentes.

Grabando el escritorio de windows con ffmpeg

1 comentario

Me encontraba en windows y necesitaba grabar el escritorio completo, asi que en ves de irme por el camino fácil, se me ocurrió usar un programa que en GNU/Linux es una autentica navaja suiza, el famoso ffmpeg, que tiene versiones para varios sistemas.

Como estaba en windows, no quise tener problemas con las dependencias, así que me baje una versión ya compilada con las librerías incluidas (versión static) desde la pagina de Zeranoe.

A  diferencias de GNU/Linux, en windows no hay algo como el X11 de GNU/Linux que maneja toda la interfaz gráfica, por lo que no resulta tan fácil grabar un vídeo. Aun así hay un par de alternativas:

  1. Una es usar vfwcap pero este usa el ya obsoleto Video for Windows, así que busque algo mas nuevo.
  2. La segunda opción era usar dshow (basado en DirectShow), por lo que seguí esta ruta

Así que una vez que tenia ffmpeg funcionando, comprobé que dispositivos estaban disponibles en DirectShow haciendo

ffmpeg -list_devices true -f dshow -i dummy

El resultado fue el siguiente:

Hay dos dispositivos, uno de audio (llamado “Microphone (Realtek High Defini”)  y otro de video (“Sony Visual Communication Camera”), como esto lo hice en mi Laptop, estos dispositivos corresponden a la Webcam y su correspondiente micrófono, que esta integrada sobre la pantalla del equipo. Así que ya podía grabar todo lo que capturara la webcam y/o el microfono que tenia el Laptop.

Pero yo quería grabar lo que muestra mi escritorio, no la webcam. Así que para eso tenia que instalar algún filtro de DirectShow que pudiera reproducir la pantalla del equipo. En una búsqueda rápida por google se encuentran varios, como por ejemplo UScreenCapture (que tiene versiones de 32 y 64 bits) o el virtual audio/video capture grabberdevice, yo opte por este ultimo, ya que incluía un filtro para audio.

Así que lo instale y al hacer ffmpeg -list_devices true -f dshow -i dummy aparecían nuevos dispositivos, los que para utilizarlos, simplemente hay que hacer algo como esto:

ffmpeg -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" ...opciones...

donde -i especifica que dispositivos se están usando para capturar (en este caso se captura tanto el audio como el video, pero también se puede capturar solo uno de ellos) y  …opciones… son los distintos parámetros que acepta ffmpeg (que son muchisimos), por ejemplo si se hace:

ffmpeg -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" -r 30 -vcodec mpeg4 -q 10 salida.mp4

Resulta en un archivo llamado salida.mp4 que esta grabado con el codec de vídeo mpeg4 a -r 30 (30 Frames por segundo) con una calidad -q 10 (1 es la mejor y 30 la peor)

Aquí pueden ver un resultado en bruto sin ninguna edición (youtube bajo en algo la calidad ya que el vídeo original estaba a la resolución real de mi escritorio 1366×768)

 

feliz navidad

Deja un comentario

Feliz navidad (aunque calurosa para los que vivimos de la linea del ecuador hacia abajo)

Older Entries

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.