Betazeta Networks:BelelúBólidoCHWFayerWayerFW BrasilFerpleiLUPANiubieSaborizanteVeoVerdeWayerless MCUZimio Versión Movil

Temas Calientes

Entrevista a los desarrolladores de FFmpeg (2da parte)

17

Entrevista a los desarrolladores de FFmpeg (2da parte)
(cc) by Alexander Grundner

(cc) by Alexander Grundner

Esta es nuestra segunda entrega de la Entrevista a los desarrolladores de FFmpeg (Primera Parte), que fue publicada originalmente en Phoronix.  No hace falta más introducción que la que podrán encontrar en ese artículo, asi que vamos directo a la entrevista.

Respecto a la aceleración de video por hardware, Baptiste dice que el soporte de VDPAU ya fue integrado en FFmpeg y que el soporte de VA-API se está integrando.  Recordemos que el VDPAU es una API para Unix creada por NVIDIA e implementada en su driver para acelerar por hardware la decodificación de video, otros fabricantes como Intel también están en camino de implementar esta API.

AMD/ATI ya estaba realizando un esfuerzo similar llamado XvBA (X-Video Bitstream Acceleration), y los desarrolladores de FFmpeg dicen que si bien no se han contactado para implementar esta tecnología en FFmpeg, se espera que se esto se lleve a cabo apenas se liberen los drivers.  De todas formas, el equipo de FFmpeg está desarrollando una API para facilitar la integración con los mecanismos de aceleración que está desarrollando cada fabricante.

Multithreading

La decodificación de video en FFmpeg se realiza en un solo hilo de ejecución (thread), esto quiere decir que al decodificar video en un procesador con más de un core como los que son normales hoy en día, no se aprovecha la capacidad multi-core y se deja todo el procesamiento en un solo core.

Se están realizando pruebas en una rama paralela de desarrollo llamada ffmpeg-mt (multithread) para implementar la decodificación en múltiples hilos de ejecución, los cambios no son menores porque afectan a muchas partes del código y hay preocupación de que el rendimiento decaiga en sistemas de un solo core.

Considerando que el tiempo que llevará estabilizar esta rama será de varios meses, y probarla también tomará varios meses,  Diego cree que esta versión multithread de FFmpeg podría tomar años.

Nuevos codecs

Mientras los desarrolladores de FFmpeg se enfocaban en implementar codecs que son estándar de la industria, crearon dos nuevos codecs propios : FFV1 y Snow.  FFV1 es un formato de video sin pérdida de alto rendimiento que comprime mejor que H.264, mientras que Snow es un codec basado en wavelets que puede ser usado tanto sin pérdida como con pérdida y según los entendidos es mucho más eficiente que los codecs existentes (rududu, dirac, xdiv, divx).

Snow es capaz de mantener una alta calidad de imagen a una baja tasa de transferencia (bitrate).  Su desarrollo se ha estancado y quedan aspectos por definir.  Los desarrolladores han ofrecido una recompensa para quien quiera terminar la especificación de Snow pero hasta ahora nadie se ha manifestado.

Aspectos legales

FFmpeg se usa en varios proyectos de código abierto como GStreamer, XBMC, VLC Media Player y otros como Wii Video 9.  Sin embargo, la implementación que los llena de orgullo es el uso de FFmpeg en YouTube, XDCAM EX Clip Browser de Sony y por supuesto su integración en MPlayer.  FFmpeg está licenciado bajo GPL y LGPL, lo que implica que se puede usar tanto en proyectos libres compatibles con GPL como en proyectos no libres por medio de las condiciones de LGPL. Aún así hay proyectos en donde se han violado estas licencias.

Recientemente crearon una sección Hall of Shame en su sitio web para publicar las compañias y proyectos que violaran los términos de estas licencias.  Diego es uno de los cabecillas de este trabajao y ha tenido éxito resolviendo este tipo de problemas legales.  A veces los infractores trabajan rápidamente para responder y corregir el problema, pero otros casos pueden tomar meses.

Diego no tiene claro si serán capaces de resolver todos los casos. En forma complementaria, recientemente se hicieron partners del Centro de Leyes de la Libertad del Software (Software Freedom Law Center) quienes representarán a los desarrolladores en temas legales.  Hasta ahora, todo se ha solucionado con negociaciones amistosas, pero en cualquier momento las cosas se pueden volver turbias.

Los desafíos

El desafío más grande que tienen es encontrar gente que pueda mantenerse trabajando en proyectos de largo plazo.  Escribir codecs es muy complejo y los desarrolladores de FFmpeg reconocen que algunas características serían muy útiles, pero no pueden trabajar en ellas debido a la falta del tiempo y/o motivación.

Lo que ha resultado bien es el sistema de recompensas para el trabajo más complejo y en esto han recibido apoyo de compañías externas.  FFmpeg no tiene una corporación detras, pero compañias como BBC fundaron el trabajo del codificador de VC-3.  El partner de código abierto Oy está financiando a Robert en la implementación de la extensión HE AAC del codificador AAC de FFmpeg y también está trabajando en el soporte de IPTV para MythTVGoogle Summer of Code, el proyecto de Google para financiar a estudiantes para que trabajen apadrinados por un experto en proyectos de código abierto, ha sido muy importante para el éxito contínuo de FFmpeg.

En esta entrevista participaron sólo 3 de los desarrolladores activos de FFmpeg.  En los últimos seis meses se han recibido aportes de unas 42 personas, en donde 31 de ellas han hecho más de diez aportes.  De estos 42, cerca de una docena de ellos son extremadamente activos y han realizado más de 50 aportes en el mismo periodo.  Esto, sin contar con todos los entusiastas que realizan las pruebas de FFmpeg y proveen soporte via IRC y la lista de correo.

Links :
- An interview with the developers of FFmpeg (Phoronix)
- Entrevista a los desarrolladores de FFmpeg – 1ra parte (FayerWayer)

17 Comentarios

Entrevista a los desarrolladores de FFmpeg (2da parte)

Thumb up 0 Thumb down 0 avatar_Alejandro Alejandro dijo hace 9 meses

Hola a todos soy nuevo en esto por lo cual tengo una duda, alguien sabe como hacer para acelerar el proceso de ffmpeg x264, con un servidor de 16 nucleos?

Gracias

Responder
Thumb up 0 Thumb down 0 avatar_kotelo kotelo dijo hace 3 años

Lo de los codec me interesa, quería ver un video de unos chiquillos que preparaban una ensalada y pude verlo, pero no escucharlo :(

Responder
Thumb up 0 Thumb down 0 avatar_Takuru Takuru dijo hace 3 años

Grande los de FFmpeg, un verdadero amor al arte.

Responder
Thumb up 0 Thumb down 0 avatar_CereaL CereaL dijo hace 3 años

Hace unos dias atrás compilé Mplayer con los codec ffmpeg-mt, tuve un problema con la libreria libswcale, pero despues de un poco buscar, encontré la solución. En realidad es bastante notorio el cambio, estaba viendo House HDTV 720p y me usaba el 100% de un core, y el 2% de otro. Con los nuevos codecs, me ocupa el 40% de un core y el 10% del otro. Además, se ve mucho más nitido y fluido.

Vdpau no me funcionó bien, o quizás no hice todo bien. se veía fluido, pero la imagen se veía media cortada, el frame rate era menor, aún cuando tengo una 8800GT.

Responder
Thumb up 0 Thumb down 0 avatar_m_akina m_akina dijo hace 3 años

Desarrolladores de FFmpeg, ustedes son admirables. Buen trabajo. :)

Responder
Thumb up 0 Thumb down 0 avatar_CereaL CereaL dijo hace 3 años

@Franco
Si, pues si no me equivoco, Nivdia integró Vdpau desde la versión 180.06 y tengo instalada la 180.44. a ver si más a la tarde me doi el tiempo de agregarle vdpau al mplayer denuevo.

Si tienes un link para asegurarme de hacerlo bien, te loa gradecería.

Responder
Thumb up 0 Thumb down 0 avatar_rvm rvm dijo hace 3 años

Por lo que he leido, Theora es inferior a h264 (aunque eso se nota al comparar un par de videos).
Ojalá que alguien se interese en el desarrollo de Snow, que podría reemplazar a Theora.

Theora vs. h.264

Responder
Thumb up 0 Thumb down 0 avatar_rvm rvm dijo hace 3 años

@Franco
Theora es el codec de video de xiph.org :)

http://es.wikipedia.org/wiki/Theora

Yo solo digo que su calidad no es tan buena como Snow, y que seria genial que hubiera otra alternativa a Theora.

Responder
Thumb up 0 Thumb down 0 avatar_V A R G U X (Fabián) V A R G U X (Fabián) dijo hace 3 años

El desafio es a financiar este tipo de proyectos, que finalmente nos benefician a todos; no sólo a los programadores, sino a los usuarios de a pie...

Saludos...

Responder
Thumb up 0 Thumb down 0 avatar_Eduardo Eduardo dijo hace 3 años

Excelente !!! Esto es Fayerwayer en su mejor expresión. Felicitaciones.

Responder
Thumb up 0 Thumb down 0 avatar_Alex Alex dijo hace 3 años

Se agradece el esfuerzo que sirve para todos! Ese es el espiritu del software libre. Felicitaciones!

Responder
Thumb up 0 Thumb down 0 avatar_iasd iasd dijo hace 3 años

no podria vivir sin ffmpeg! asi que bendiciones y que sigan con el buen trabajo... para mi leer esos codigos es chino mandarin XD

Responder
Thumb up 0 Thumb down 0 avatar_CHAMO CHAMO dijo hace 3 años

Ya era hora.....
costó pero salio!

Responder
Thumb up 0 Thumb down 0 avatar_mandrilbulin mandrilbulin dijo hace 3 años

Lo pensé, lo propuse y ahora por fin se hace realidad.

Realmente una maravilla que espero ocupar para realizar producción audiovisual.

Responder
Thumb up 0 Thumb down 0 avatar_cortes cortes dijo hace 3 años

honestamente , este tipo de post me hacen volver a fayerwayer.

felicitaciones !

Responder
Thumb up 0 Thumb down 0 avatar_X_X X_X dijo hace 3 años

Estaba esperando la segunda parte. Es motivante el trabajo de desarrollo de FFmpeg, que me recuerda que el trabajo que nace de la pasion y el amor, del fondo de los corazones, seguro mueven montañas.
Vale Franco!!!

Aguante Cinelerra (>'.')>

Responder
Thumb up 0 Thumb down 0 avatar_San_Pateste San_Pateste dijo hace 3 años

Software libre casi comunista!...XD!! (broma) esto es espiritu señores, ojala estos muchachos no se nos aburguesen y sigan la misma linea siempre...

Congatulations!

Responder

Deja tu Comentario

La opción de comentar está abierta a todos los usuarios, pero te pedimos por favor mantenerte dentro del tema del artículo y no publicar comentarios ofensivos o publicidad basura. Nos reservamos el derecho de eliminar cualquier comentario que no cumpla estas reglas.

Para que aparezca tu foto en vez del icono genérico en tu comentario, el email con el que comentas debe estar inscrito en Gravatar.