yum

FFmpeg: Solución para convertir, grabar y stream A/V (I)

Hace unos días atras hice una entrada sobre el Conversor de Video: WinFF así que buscando no me percate que no habia echo una guia/tutorial sobre su padre FFmpeg. Así que de esto tratara este post.
Por cierto antes de comenzar, una noticia para el mundo linuxero en pleno, me entere hoy 4 de Julio, que luego de 4 años FFmpeg y otros proyectos de codigo abierto (Mplayer y rtmpdump) estan en busqueda de nuevo proveedor de hosting, ya que Arpi el actual proveedor ya no podra alojarlos.Solo necesitan 4 Tb de espacio en disco y al menos 4 Tb de ancho de banda por mes, para su lista de correos, trac, samples repo, svn y más.
Pueden comunicarse a la lista de correo ffmpeg-admins o vía irc.freenode.net canal #ffmpeg-devel ,a continuación el feed:
screenshot gracias a la utilidad scrot
Continuemos, den un [play] y a seguir aprendiendo.

//widgets.jamendo.com/v3/track/1235170?autoplay=0&layout=standard&manualWidth=400&width=400&theme=dark&highlight=6&tracklist=true&tracklist_n=3&embedCode=

FFmpeg es una colección de software que puede grabar, convertir y hacer streaming de audio y video(1) además incluye la biblioteca de codecs libavcodec, demás decir que esta presente en todos las distros GNU/Linux e inclusive se puede compilar en Win$, el proyecto esta liberado bajo las licencias LGPL v2.1+ y GPL v2+ .
La instalación es sencilla, pueden buscarlo en sus respectivos repositorios o recurrir a la web del proyecto, inclusive clonarlo desde git(2).
sudo pacman -S ffmpeg
sudo yum install ffmpeg
sudo apt-get install ffmpeg
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

El proyecto lo compone 4 herramientas: ffmpeg que convierte audio y video de un formato a otro, además puede capturar y codificar en tiempo real desde DirectShow, tarjeta Tv o cualquier otro device compatible.

La forma más sencilla de usarlo sería:

ffmpeg -i input.mp4 output.avi

Lo espectacular de ffmpeg es que es más completo y complejo que solo esto, ya que tiene una amplia posibilidad de opciones.

Poniendo un ejemplo, si queremos ajustar la tasa de bits de video del archivo salida a 64 kbit/s, lanzamos el comando:

ffmpeg -i ingreso.avi -b:v 64k -bufsize 64k salida.avi
Si queremos forzar la velocidad de los fotogramas a 24fps:
ffmpeg -i ingreso.avi -r 24 salida.avi
La forma en que trabaja ffmpeg se puede resumir de la siguiente manera, este llama a libavformat (demultiplexor ó demuxer) para leer archivos de entrada y obtener paquetes que contienen datos codificados. Cuando hay varios archivos de entrada, intenta mantenerlos sincronizados mediante el seguimiento de marca de tiempo más bajo en cualquier flujo de entrada activa. Paquetes codificados se pasan al decodificador, el cual produce marcos sin comprimir (vídeo en bruto, audio PCM, etcetera ) que puede ser procesada por el filtrado. Después de filtrar, las tramas se transmiten al codificador, que codifica los paquetes y salidas. Finalmente los pasa al muxer (multiplexor), que escribe los paquetes codificados al archivo de salida.
Diagrama de Flujos hecho en Día
Para que tengan una idea, de entre las muchas opciones usadas tenemos:
-i nombre_de_archivo »» archivo ingreso
-f fmt »» fuerza el formato del archivo de ingreso o salida
-t duration »» cuando se usa como opcion del archivo de ingreso, limita la duración de los datos leídos, cuando se usa como opción del archivo de salida (se escribe antes del mismo) dejara de escibir la salida despues del tiempo escrito.
-c[:stream-specifier] codec ó -codec[:stream_specifier] »» seleccionar un codificador (cuando se utiliza antes de un archivo de salida) o un decodificador (cuando se utiliza antes de un archivo de entrada). codec es el nombre de un decodificador / codificador o un valor especial [copy] (sólo salida) para indicar que no es para ser re-codificado.
-to position »» detiene la escritura de salida en la posición XX
-fs size_limit »» establece el tamaño limite del archivo , expresado en bytes.
-frames [: stream_specifier] frameCount (salida, stream) »» deja de escribir el stream después de X frames [frameCount].
Creo yo que para un usuario normal es dificil conocer todas las opciones ya que tiene una barbaridad, me canse de leer el man ffmpeg así que el resto se los dejo a ustedes para que investiguen. 🙂

Señale 4 herramientas, a ffmpeg, se le une, ffserver, ffplay y ffprobe; pero creo que extender más esta entrada sería cansado, así que le dedicare un segundo post proximamente.

Así que por ahora me despido, buenas vibras lectores.


(1) esta ultima funcionalidad la desconocia.
(2) claro deben tener git previamente instalado en su distro.

Utilitarios CLI para analizar el HDD

Para esto usaremos iostat e iotop, el primero es parte de Sysstat (colección de herramientas de monitorización, que ya alcanza su versión 11.1.5 del 12-06-15), ninguna de las 2 opciones vienen preinstaladas, al menos en las distros que suelo usar, así que a instalarlas.

$ sudo pacman -S sysstat iotop
$ sudo yum -y install sysstat iotop
$ sudo apt-get install sysstat iotop

iotop
Nos permite monitorizar las entradas y salidas I/O a nuestro disco, indicándonos los procesos que usan un mayor porcentaje de lectura/escritura del disco.
Algunas hotkeys útiles como; [r] para indicar el orden de la columna donde nos ubiquemos, [←] [→] para movernos entre las columnas y la [q] para salir.
Argumentos como, —only nos permite visualizar los procesos que estén teniendo uso activo del disco, -k tamaño en kilobytes. Como siempre recurrir a un man iotop para información de mas opciones.
iostat

Nos permite conocer el rendimiento del disco, acepta una serie de argumentos opcionales con los cuales se especifica un intervalo de segundos y un contador para las repeticiones.
-c muestra el uso del CPU
-k muestra las estadísticas en k/s
-x muestra estadísticas extendidas
-d muestra un reporte a los “X” segundos
Y más, no se olviden de pasar por man iostat
Así que como comprenderan trabaja recopilando información del sistema de archivos /proc , generando una fila con los datos de cada uno de los discos físicos del sistema.
Debería hablar algo más sobre sysstat, pero ya existe una buen articulo muy completo sobre ella: sysstat, la colección de herramientas de monitorización de rendimiento
Hasta otro post y buenas vibras lectores.

Publicada Mixxx 1.12 Beta

Luego de 2 años de  largo trabajo el equipo de desarrollo ha lanzado una nueva versión de este software de código abierto para DJ, entusiastas que trabajen con audio, etcétera; animado claro esta por las pruebas Alfa que llevo acabo con algunos usuarios de su foro , cabe resaltar que este es uno de los lanzamientos mas grandes que han hecho el Team Mixxx, así que si lo prueban no olviden hacer el respectivo feedback con ellos para mejorarlo aún mas, antes de la versión final.
Algunas de las características nuevas y correcciones hechas tenemos:
  • 4 Decks con sincronización maestra.
  • Nuevo marco de efectos, con 4 unidades de efectos y 5 efectos incorporados.
  • GUI configurable, se volvió redimensionable y con 3 nuevos skin.
  • 4 entradas de micrófono y el mismo numero de entradas auxiliares.
  • UI Mapping  MIDI ademas de mejoras en el asistente de aprendizaje.
  • Formas de onda RGB.
  • Mejoras en el sonido key-lock gracias a un nuevo algoritmo pitch.
¿Como ayudar?
Por el momento esta abierta la ayuda para traductores, especialmente chino y japones; pero cualquier ayuda es bienvenida. Visiten la pagina de transifex o la wiki internacional.
También reportando bugs que puedan aparecer, feedback respectivo, escribiendo un email a la lista de correo o al IRC canal #mixxx en freenode.
Para descargarla pueden usar la web del proyecto:
En su defecto en sus respectivos repositorios, como por ejemplo:

$ sudo pacman -S mixxx (Arch / Manjaro)
$ sudo aptitude install mixxx (Debian / Trisquel)
$ sudo yum install mixxx (Fedora, tienen que habilitar el repositorio RPMFusion)

Por cierto y para los despistados, Mixxx es multiplataforma 😉 así que hay versiones para Windows y OsX.
Hasta otro post y buenas vibras lectores.

¿ Como agregar Repositorios EPEL a CentOS 7 ?

EPEL son los Extra Packages for Enterprise Linux es un grupo de interés especial de Fedora que crea, mantiene y administra paquetes de alta calidad para el Linux Empresarial, que incluye a  Red Hat Enterprise Linux (RHEL), CentOS y Scientific Linux (SL) pero no limitado a estos ya que los paquetes son usualmente basados en Fedora. 

  

¿Qué paquetes y versiones están disponibles en EPEL?
Pueden mirar los paquetes disponibles para EPEL en la mirror list. Alternativamente, pueden navegar la lista de paquetes usando el visor del repositorio:
Como se podrán fijar en los mirrors EPEL 7, ya han desaparecido el soporte a paquetes 32 bits (i386); así es la vida todo cambia.
Bueno ahora para instalar los repositorios, lanzamos los siguientes comandos:
# rpm -Uvh epel-release-7-5.noarch.rpm
Para verificar si el repositorio ya esta disponible:
# yum repolist
Enjoy!  Buenas vibras lectores.

Synfig Studio: Software de Animación Open Source

Esa era la idea original desde el primer día la eliminación del proceso de interpolación. Pero ciertamente no es la única característica de Synfig que la hace única. Además de eliminar el proceso de interpolación, también quería que Synfig se utilizara para casi todas las partes de la producción excepto story-boarding y edición .

Robert Quattlebaum OSNews

Synfig Studio es un software libre y de código abierto para animación 2D, diseñada como una solución poderosa para la creación de animación de calidad cinematográfica utilizando ilustraciones vectoriales y de mapa de bits. Elimina la necesidad de crear la animación fotograma a fotograma, lo que le permite producir animaciones 2D de una calidad superior con un menor número de personas y recursos. Y para mejorar la cosa, es multiplataforma, está disponible para Windows, Linux y MacOS X.
 
Ya se encuentra en la versión 0.64.3, se han corregido varios bugs, como se muestra en la imagen a continuación.

Cuenta con un video curso de entrenamiento, aunque en solo 4 idiomas, ruso, ingles, chino y portugues, claro hay que hacer un pequeño pago por este $1 usando el método pay-what-you-want ó paga lo que quieras.

Inclusive pueden darse una vuelta por la wiki, donde encontraran bastante información, sea como usuario, developer y redactor; entiendo que se encuentra bien documentado.
Web del Proyecto: http://www.synfig.org/cms/
Como instalarlo:
En Arch – Manjaro
$ sudo pacman -S synfigstudio
Si se fijan bien, hace recordar a Gimp, por las ventanas flotantes, desconozco si se podrá usarlo en una ventana unificada.
En Fedora
$ sudo yum  install synfigstudio
En Fedora 21 encontraran el paquete 0.64.2-1.fc21
o el paquete RPM desde su web y luego doble click 
En Debian
$ sudo apt-get install synfigstudio
En Debian estable encontraran el paquete 0.63.05-1, ya saben lo estable que busca ser, para todos sus usuarios.
o el paquete DEB desde la web
Buenas vibras lectores, hasta otro post.