Entrevista a los desarrolladores de FFmpeg (2da parte)
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 MythTV. Google 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)
Steve Jobs fue premiado anoche con Grammy póstumo
Europeos se manifiestan en contra de ACTA
Tommy Jordan se refiere al "asesinato" del note...
Futurología: La nueva Xbox podría incluir mando...
8 cámaras clásicas de Kodak, ahora que dejará d...
Alemania dice que no firmará ACTA (al menos por...
México: Sujeto intentó subastar un bebé en Merc...
10 regalos geek para tu media naranja en este D...
17 Comentarios
Entrevista a los desarrolladores de FFmpeg (2da parte)
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?
ResponderGracias
Lo de los codec me interesa, quería ver un video de unos chiquillos que preparaban una ensalada y pude verlo, pero no escucharlo :(
ResponderGrande los de FFmpeg, un verdadero amor al arte.
ResponderHace 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.
ResponderVdpau 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.
Desarrolladores de FFmpeg, ustedes son admirables. Buen trabajo. :)
Responder@Franco
ResponderSi, 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.
Por lo que he leido, Theora es inferior a h264 (aunque eso se nota al comparar un par de videos).
ResponderOjalá que alguien se interese en el desarrollo de Snow, que podría reemplazar a Theora.
Theora vs. h.264
@Franco
ResponderTheora 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.
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...
ResponderSaludos...
Excelente !!! Esto es Fayerwayer en su mejor expresión. Felicitaciones.
ResponderSe agradece el esfuerzo que sirve para todos! Ese es el espiritu del software libre. Felicitaciones!
Responderno podria vivir sin ffmpeg! asi que bendiciones y que sigan con el buen trabajo... para mi leer esos codigos es chino mandarin XD
ResponderYa era hora.....
Respondercostó pero salio!
Lo pensé, lo propuse y ahora por fin se hace realidad.
ResponderRealmente una maravilla que espero ocupar para realizar producción audiovisual.
honestamente , este tipo de post me hacen volver a fayerwayer.
Responderfelicitaciones !
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.
ResponderVale Franco!!!
Aguante Cinelerra (>'.')>
Software libre casi comunista!...XD!! (broma) esto es espiritu señores, ojala estos muchachos no se nos aburguesen y sigan la misma linea siempre...
ResponderCongatulations!
Deja tu Comentario