{"id":703,"date":"2026-09-06T15:22:57","date_gmt":"2026-09-06T18:22:57","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/a-historia-do-ffmpeg\/"},"modified":"2026-09-08T08:29:11","modified_gmt":"2026-09-08T11:29:11","slug":"a-historia-do-ffmpeg","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/en\/2026\/09\/a-historia-do-ffmpeg\/","title":{"rendered":"A hist\u00f3ria do FFmpeg"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro operando a mesa de edi\u00e7\u00e3o diante da onda sonora, com a tira de filme e os \u00edcones de convers\u00e3o de formato\" src=\"\/wp-content\/uploads\/2026\/09\/ffmpeg-historia-v2.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<p>Todo v\u00eddeo que voc\u00ea assistiu hoje \u2014 no YouTube, no WhatsApp, na TV por streaming \u2014 quase certamente passou pelo <strong>FFmpeg<\/strong> em algum ponto do caminho. \u00c9 provavelmente o software mais usado e menos conhecido do planeta: uma caixa de ferramentas de \u00e1udio e v\u00eddeo que virou infraestrutura invis\u00edvel da internet. Esta \u00e9 a hist\u00f3ria dele \u2014 do hacker franc\u00eas genial que o criou ao fork que rachou a comunidade, at\u00e9 o presente em que meia d\u00fazia de volunt\u00e1rios sustenta o v\u00eddeo mundial.<\/p>\n<h2>2000: nasce um &#8220;MPEG r\u00e1pido&#8221;<\/h2>\n<p>O FFmpeg apareceu em <strong>2000<\/strong>, publicado por um certo &#8220;G\u00e9rard Lantau&#8221; \u2014 pseud\u00f4nimo de <strong>Fabrice Bellard<\/strong>, um dos programadores mais lend\u00e1rios da nossa era (depois ele criaria o QEMU, o Tiny C Compiler e recordes de c\u00e1lculo de \u03c0). O nome mistura &#8220;FF&#8221; de <em>fast forward<\/em> com MPEG, o padr\u00e3o de compress\u00e3o da \u00e9poca. A proposta era ousada: em vez de depender de codecs propriet\u00e1rios espalhados, implementar decodificadores e codificadores do zero, em C puro, numa biblioteca s\u00f3 \u2014 a <strong>libavcodec<\/strong>.<\/p>\n<p>Em volta dela cresceu a fam\u00edlia que conhecemos: <strong>libavformat<\/strong> (containers e muxing), <strong>libswscale<\/strong> (convers\u00e3o de cores e escala), <strong>libavfilter<\/strong> (filtros e efeitos) e os tr\u00eas execut\u00e1veis do dia a dia \u2014 <code data-no-translation=\"\">ffmpeg<\/code>, <code data-no-translation=\"\">ffprobe<\/code> and <code data-no-translation=\"\">ffplay<\/code>.<\/p>\n<h2>A era Niedermayer<\/h2>\n<p>Bellard \u00e9 do tipo que cria projetos e parte para o pr\u00f3ximo. Em <strong>2004<\/strong>, a lideran\u00e7a passou para <strong>Michael Niedermayer<\/strong>, que por mais de uma d\u00e9cada foi sin\u00f4nimo de FFmpeg: otimiza\u00e7\u00f5es obsessivas, suporte a formatos obscuros que ningu\u00e9m mais implementaria e uma pol\u00edtica de &#8220;decodifica tudo, inclusive arquivo quebrado&#8221; que fez do projeto a navalha su\u00ed\u00e7a definitiva. MPlayer, VLC e praticamente todo player de v\u00eddeo do Linux constru\u00edram-se em cima da libavcodec.<\/p>\n<h2>2011: o fork Libav \u2014 a guerra civil<\/h2>\n<p>Em janeiro de <strong>2011<\/strong>, um grupo de desenvolvedores insatisfeitos com o estilo de lideran\u00e7a de Niedermayer tomou uma atitude dr\u00e1stica: fork. Nasceu o <strong>Libav<\/strong>, levando boa parte dos committers ativos. A confus\u00e3o foi \u00e9pica: <strong>Debian e Ubuntu adotaram o Libav<\/strong>, o comando <code data-no-translation=\"\">ffmpeg<\/code> sumiu das distros e foi substitu\u00eddo pelo <code data-no-translation=\"\">avconv<\/code>, e milh\u00f5es de usu\u00e1rios passaram anos digitando <code data-no-translation=\"\">ffmpeg<\/code> para receber um aviso confuso de &#8220;deprecated&#8221;.<\/p>\n<p>Enquanto isso, Niedermayer fazia algo insano: <em>mergeava diariamente<\/em> todo o trabalho do Libav de volta no FFmpeg, al\u00e9m de desenvolver o pr\u00f3prio. Resultado: o FFmpeg tinha tudo do Libav e mais. A guerra terminou por exaust\u00e3o \u2014 o <strong>Debian voltou ao FFmpeg em 2015<\/strong>, o Ubuntu seguiu, e o Libav definhou at\u00e9 parar. No mesmo ano, Niedermayer deixou a lideran\u00e7a para acalmar os \u00e2nimos, seguindo como committer prol\u00edfico at\u00e9 hoje.<\/p>\n<h2>A infraestrutura invis\u00edvel do v\u00eddeo mundial<\/h2>\n<p>A lista de quem usa FFmpeg \u00e9 a lista de quem trabalha com v\u00eddeo: o <strong>YouTube<\/strong> processa uploads com ele, o <strong>Chrome e o Firefox<\/strong> o carregam para tocar m\u00eddia, <strong>VLC, OBS, Kodi, HandBrake e Plex<\/strong> s\u00e3o interfaces em volta dele, e ele roda embarcado de smart TV a c\u00e2mera de seguran\u00e7a. Quando os codecs modernos chegaram \u2014 <strong>H.264, HEVC, VP9, AV1<\/strong> \u2014, foi a dupla FFmpeg + projetos aliados (x264, x265, dav1d) que os colocou nas m\u00e3os de todo mundo.<\/p>\n<p>Essa onipresen\u00e7a tem pre\u00e7o: como o FFmpeg abre <em>qualquer<\/em> arquivo, ele virou alvo preferencial de fuzzing e pesquisa de seguran\u00e7a. Centenas de CVEs depois, o projeto mant\u00e9m um dos ciclos de corre\u00e7\u00e3o mais r\u00e1pidos do open source \u2014 precisa, porque um bug na libavcodec \u00e9 um bug em metade da internet.<\/p>\n<h2>Moderniza\u00e7\u00e3o: FFmpeg 5, 6 e 7<\/h2>\n<p>Depois de anos de vers\u00f5es conservadoras, o projeto acelerou: o <strong>FFmpeg 5.0<\/strong> (2022) limpou APIs hist\u00f3ricas; o <strong>6.0<\/strong> (2023) padronizou o ciclo anual de major releases; e o <strong>7.0<\/strong> (2024) trouxe a mudan\u00e7a mais vis\u00edvel em d\u00e9cadas \u2014 a <strong>CLI multithread<\/strong>, com demuxers, decoders, filtros e encoders finalmente rodando em threads separadas. Junto vieram decodifica\u00e7\u00e3o por hardware via <strong>Vulkan<\/strong>, AV1 em GPU e suporte nativo a VVC. Programar em assembly ainda \u00e9 cultura viva no projeto: as rotinas cr\u00edticas t\u00eam vers\u00f5es otimizadas \u00e0 m\u00e3o para x86, ARM\/NEON e agora RISC-V.<\/p>\n<h2>O drama do financiamento<\/h2>\n<p>O contraste ficou famoso: trilh\u00f5es de d\u00f3lares em produtos dependem de um projeto mantido por <strong>poucos volunt\u00e1rios sem sal\u00e1rio<\/strong>. Nos \u00faltimos anos a tens\u00e3o veio a p\u00fablico, com mantenedores cobrando abertamente das big techs \u2014 que reportam bugs &#8220;cr\u00edticos para seus produtos&#8221; sem contribuir um centavo \u2014 a velha m\u00e1xima: <em>&#8220;send patches&#8221;<\/em>. Fundos p\u00fablicos como o alem\u00e3o <strong>Sovereign Tech Fund<\/strong> passaram a financiar trabalho de manuten\u00e7\u00e3o, mas a conta ainda n\u00e3o fecha. \u00c9 o caso cl\u00e1ssico do xkcd da &#8220;depend\u00eancia mantida por uma pessoa aleat\u00f3ria em Nebraska&#8221; \u2014 s\u00f3 que em escala planet\u00e1ria.<\/p>\n<h2>Na pr\u00e1tica: 3 comandos que resolvem 90%<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\"># converter qualquer coisa para MP4\/H.264 com qualidade sensata\nffmpeg -i entrada.mkv -c:v libx264 -crf 22 -preset medium -c:a aac saida.mp4\n\n# extrair o \u00e1udio sem recodificar\nffmpeg -i video.mp4 -vn -c:a copy audio.m4a\n\n# inspecionar um arquivo (codecs, bitrate, streams)\nffprobe -hide_banner video.mp4<\/code><\/pre>\n<h2>Timeline<\/h2>\n<ul>\n<li><strong>2000<\/strong> \u2014 Fabrice Bellard cria o FFmpeg (sob o pseud\u00f4nimo &#8220;G\u00e9rard Lantau&#8221;)<\/li>\n<li><strong>2004<\/strong> \u2014 Michael Niedermayer assume a lideran\u00e7a do projeto<\/li>\n<li><strong>jan\/2011<\/strong> \u2014 Fork Libav racha a comunidade; leva boa parte dos committers<\/li>\n<li><strong>2011\u20132015<\/strong> \u2014 Debian e Ubuntu adotam o Libav (comando avconv); Niedermayer faz merge di\u00e1rio do Libav no FFmpeg<\/li>\n<li><strong>2015<\/strong> \u2014 Debian volta ao FFmpeg; o Libav definha; Niedermayer deixa a lideran\u00e7a<\/li>\n<li><strong>2022<\/strong> \u2014 FFmpeg 5.0: limpeza de APIs hist\u00f3ricas<\/li>\n<li><strong>2023<\/strong> \u2014 FFmpeg 6.0: ciclo anual de major releases<\/li>\n<li><strong>2024<\/strong> \u2014 FFmpeg 7.0: CLI multithread, decodifica\u00e7\u00e3o por Vulkan, suporte a VVC<\/li>\n<\/ul>\n<h2>A li\u00e7\u00e3o de 25 anos<\/h2>\n<p>O FFmpeg provou que uma biblioteca C bem escrita, sem marketing e sem empresa por tr\u00e1s, pode se tornar mais essencial que qualquer produto comercial do seu setor. Sobreviveu a um fork hostil, a guerras de patentes de codec e ao pr\u00f3prio sucesso. Se voc\u00ea trabalha com Linux e m\u00eddia, dominar o <code data-no-translation=\"\">ffmpeg<\/code> na linha de comando continua sendo um dos maiores retornos por hora de estudo que existem. E \u00e9 mais uma prova da tese que atravessa o <a href=\"\/en\/2026\/09\/linux-35-anos\/\">Linux e seus 35 anos<\/a>: a infraestrutura que move o mundo digital \u00e9, quase toda, software livre mantido por poucas m\u00e3os.<\/p>","protected":false},"excerpt":{"rendered":"<p>Todo v\u00eddeo que voc\u00ea assistiu hoje \u2014 no YouTube, no WhatsApp, na TV por streaming \u2014 quase certamente passou pelo FFmpeg em algum ponto do caminho. \u00c9 provavelmente o software mais usado e menos conhecido do planeta: uma caixa de ferramentas de \u00e1udio e v\u00eddeo que virou infraestrutura invis\u00edvel da internet. Esta \u00e9 a hist\u00f3ria &#8230; <a title=\"A hist\u00f3ria do FFmpeg\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2026\/09\/a-historia-do-ffmpeg\/\" aria-label=\"Read more about A hist\u00f3ria do FFmpeg\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,2,111],"tags":[345,37,346,112,344],"class_list":["post-703","post","type-post","status-publish","format-standard","hentry","category-desenv","category-linux","category-opensource","tag-codecs","tag-ffmpeg","tag-multimidia","tag-opensource","tag-video"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=703"}],"version-history":[{"count":4,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/703\/revisions"}],"predecessor-version":[{"id":1195,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/703\/revisions\/1195"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}