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)

Compartir Compartir
Publicado por Franco Catrin el 5 de May 2009 en la categoría Software con los tags , , . Tiene 18 comentarios.

18 Comentarios

Entrevista a los desarrolladores de FFmpeg (2da parte)

Deja tu Comentario ↓
kotelo

DesaprobarAprobar8kotelo dijo el 5-5-2009 a las 15:23:

1

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

Takuru

DesaprobarAprobar9Takuru dijo el 5-5-2009 a las 15:46:

2

Grande los de FFmpeg, un verdadero amor al arte.

CereaL

DesaprobarAprobar4CereaL dijo el 5-5-2009 a las 16:05:

3

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.

Franco Catrin

Franco Catrin dijo el 5-5-2009 a las 16:07:

4

@CereaL
Y los drivers tenían soporte para VDPAU?

Mira estos benchmarks:

http://www.phoronix.com/scan.php?page=article&item=nvidia_vdpau_gpu

m_akina

DesaprobarAprobar5m_akina dijo el 5-5-2009 a las 16:21:

5

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

CereaL

DesaprobarAprobar1CereaL dijo el 5-5-2009 a las 16:23:

6

@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.

rvm

DesaprobarAprobar1rvm dijo el 5-5-2009 a las 16:24:

7

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

Franco Catrin

Franco Catrin dijo el 5-5-2009 a las 16:34:

8

@rvm

Por qué mencionas a Theora?

rvm

DesaprobarAprobar1rvm dijo el 5-5-2009 a las 16:53:

9

@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.

V A R G U X (Fabián)

DesaprobarAprobar1V A R G U X (Fabián) dijo el 5-5-2009 a las 17:03:

10

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…

Eduardo

DesaprobarAprobar3Eduardo dijo el 5-5-2009 a las 17:45:

11

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

Alex

DesaprobarAprobar1Alex dijo el 5-5-2009 a las 17:49:

12

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

iasd

DesaprobarAprobar2iasd dijo el 5-5-2009 a las 17:54:

13

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

CHAMO

DesaprobarAprobar0CHAMO dijo el 5-5-2009 a las 17:56:

14

Ya era hora…..
costó pero salio!

mandrilbulin

DesaprobarAprobar0mandrilbulin dijo el 5-5-2009 a las 18:56:

15

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

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

cortes

DesaprobarAprobar1cortes dijo el 5-5-2009 a las 22:18:

16

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

felicitaciones !

X_X

DesaprobarAprobar1X_X dijo el 5-5-2009 a las 22:19:

17

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 (>’.')>

San_Pateste

DesaprobarAprobar1San_Pateste dijo el 6-5-2009 a las 17:21:

18

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!

Deja tu Comentario

XHTML: Puedes usar: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Previsualizar comentario?