Postagens

Mostrando postagens com o rótulo ffmpeg

Desembarcando no Arch (O Retorno)

Imagem
Minha alforria do GRUB Bootloader no-nonsense: systemd-boot Não tenho nada contra o escopo do GRUB de ser um bootloader tipo pia da cozinha, que suporta tudo de todas as maneiras possíveis. Repugnante é o formato usado em seus arquivos de configuração. Como bom nômade, migrei para o Arch depois de longa estada no openSUSE. Só que desta vez decidi não usar o GRUB de jeito nenhum. Configurei meu notebook para iniciar em UEFI e passadas algumas horas, com relativa facilidade, tinha um Arch funcional e enxuto com o GNOME. No lugar do inchado bootloader , pus o systemd-boot, antigo Gummiboot. Achei a página que trata dele na wiki desnecessariamente complicada. Meu particionamento é o mais KISS possível ( sugiro o cfdisk ): Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: XXXXXXXX-XXX...

A casa caiu para os golpistas

Antes tarde do que nunca. O Debian (junto com seu irmão Ubuntu), nas versões 7 e 8, abriga, graças ao seu mantenedor do pacote, que fez parte da tentativa de golpe no início de 2011, o fork Libav no lugar do FFmpeg como implementação das diversas bibliotecas libav*. Depois de um início que parecia promissor, o gás foi acabando e hoje o FFmpeg é um código melhor, com mais recursos e mais seguro, além de ser o padrão de todas as demais distribuições — Gentoo, que havia seguido o mesmo caminho, voltou atrás recentemente. Veja meu post anterior sobre o assunto . Está terminando, felizmente, o prazo de validade do Libav no Debian. \o/ http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/2015-May/thread.html#43979 http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/2015-June/thread.html#44668 https://wiki.debian.org/Debate/libav-provider/ffmpeg Bem-vindo de volta, FFmpeg! https://anonscm.debian.org/cgit/pkg-multimedia/ffmpeg.git Meus agradecimento...

Aventuras no Debian 8 (II)

Multimídia Eu erroneamente pensava que o Debian adotava a mesma prática do Ubuntu com relação aos pacotes do Libav, suas bibliotecas, e demais aplicativos multimídia em geral. O Ubuntu compila tais programas com os encoders que implementam codecs cobertos por patentes desativados. Com isso, tentam esquivar-se da MPEG-LA, pois não distribuem binários que geram fluxos de áudio/vídeo com eles. Contudo, não é o suficiente. As patentes cobrem tudo, inclusive os decoders. Se algum dia os detentores das patentes quiserem ir atrás, eles podem e ganharão. Os pacotes não castrados, contendo os encoders, são mantidos no repositório universe , que não é suportado pela Canonical. [Atualização] Na verdade, o Ubuntu compila os pacotes com os encoders habilitados. Só coloca-os no repositório universe para fins jurídicos/burocráticos, acredito. Pois esse repositório é "não suportado" pela empresa. Não que isso signifique grande coisa. Dando uma olhada com calma no Debian, vi que seg...

Minha configuração do MPC-HC/LAV Filters

Imagem
Tempos atrás o MasT3R postou sua configuração para reprodução de vídeos no Windows. Leitura obrigatória . Postarei a minha. É mais simples, pois uso apenas o MPC-HC e o LAV Filters. Compilações nightly do MPC-HC: http://xhmikosr.1f0.de/mpc-hc/ (pode usar sem medo, raramente estão bugadas) LAV Filters: http://forum.doom9.org/showthread.php?t=156191 Versão 64-bit do MPC-HC aqui. LAV instalado com as opções padrão (inclui os filtros 32 e 64-bit). Das configurações do MPC-HC que não são preferências pessoais, duas: Em "Filtros Internos", nos campos "Filtros Fonte" e "Filtros de Transformação", clique com o botão direito em qualquer parte e selecione "Desabilitar todos os filtros". Esse trabalho será feito pelo LAV Filters. Em "Legendas", desmarque "Elevar à potência de dois". Segundo o MasT3R, apenas cacarecos precisam disso. LAV Video Configuration: Se sua GPU suportar decodificação de MPEG-2, H.264, p...

foobar2000 1.2 usará a libavcodec

FFmpeg is now used for MP3, AAC and Vorbis decoding http://www.foobar2000.org/changelog Decodificação de MP3 pelo menos duas vezes mais rápida comparada com a versão 1.1.18. libavcodec, a biblioteca de decodificação de áudio/vídeo.

Novidades na terra dos codecs

AAC Os encodecs AAC open source disponíveis até o momento são horríveis . Agora, o tempo verbal pode mudar para eram . Surgiu meio que na surdina , vinda do código fonte do Android 4.1, uma nova biblioteca chamada libfdk-aac de origem improvável: o instituto Fraunhofer! Sua licença é freeware e talvez open source (não está bem claro ainda). Mesmo que a FSF interprete a licença como não open source, sendo melhor que a droga da libfaac será um grande progresso. Suporte para codificar através dela foi adicionado ( 1 , 2 , 3 ) a libavcodec pelo pessoal do Libav e importado pelo FFmpeg. Como usá-la no ffmpeg/avconv: (é um código novo, que não está habilitado nas compilações diárias para Windows por enquanto) Open Source Fraunhofer AAC Encoder (fdk-aac) (Hydrogenaudio Forums) OPUS O congelamento do bitstream do Opus está se aproximando. É o sucessor do Vorbis e do Speex e tem como objetivo, além da maior eficiência, ter baixa latência. Você pode testar o codec através das fer...

Nova sintaxe do FFmpeg (+ Zelda)

Escrevendo Arquivos .SPC no foobar2000 , acabei achando este maravilhoso vídeo no YouTube: http://www.youtube.com/watch?v=AKYn4ACAd7s (nada de embed dessa vez) E algumas análises legais em português de toda a série Zelda: http://forum.mygames.sapo.pt/viewtopic.php?f=32&t=12559&st=0&sk=t&sd=a Uma das melhores trilhas sonoras do mundo dos games tocada por uma orquestra. Épico. Obrigatório o download. Porém FLV é um formato muquirana. Levando em conta que dentro dele o YouTube coloca H.264 e AAC, muito melhor ter o arquivo em MP4, que suporta os dois codecs. O MP4Box, contudo, não remuxa a partir de FLV. A saída é claro o FFmpeg . Antes, um resumo da nova sintaxe dele, que foi herdada do avconv do fork Libav. Antiga: -acodec Nova: -codec:a (ou -c:a ) Antiga: -vcodec Nova: -codec:v (ou -c:v ) Precisamos de -codec copy (ou -c copy ) que copiará, quando possível, todos os fluxos do arquivo de origem sem transcodificação. ffmpeg -i <entrada>...

Quando um fork traz bons resultados

No dia 18 de janeiro de 2011, um grupo de programadores insatisfeitos com a liderança de Michael Niedermayer tomou o controle do FFmpeg e mudou o repositório de endereço. A alegação dos insurgentes era que Niedermayer não estava cumprindo seu papel de líder e mantenedor do projeto, pois não possuía a diplomacia necessária para o trabalho e rejeitava patches por picuinhas e diferenças pessoais. No começo, se falava em "mudança de liderança", mas com o passar do tempo — pelo menos com o que foi possível obter das discussões públicas sobre o acontecido — o termo correto passou a ser golpe. A trama foi feita na surdina e Niedermayer sofreu uma rasteira. Por mais inepto que fosse para o cargo, tudo deveria ter sido público, até mesmo para dar legitimidade caso fosse realmente necessário tirá-lo na marra. Só que os insurgentes não contavam que o dono do domínio ffmpeg.org (Fabrice Bellard, criador do projeto) devolveria o controle do mesmo para Michael Niedermayer, que junto co...

Novos meios de captura no FFmpeg

A ferramenta de linha de comando ffmpeg é bastante útil para conversões diversas e para gravar áudio e vídeo a partir dos dispositivos da máquina. A configuração fina de cada codec é meio complicada (com exceção da libx264 ), mas depois de aprendido é tranquilo. As versões recentes possuem duas novidades importantes: suporte para entrada via DirectShow no Windows e PulseAudio no Linux. PulseAudio Vamos começar pelo dispositivo de entrada "pulse", que permite capturar áudio usando a libpulse. ffmpeg -f pulse -i default <resto> Em <resto> você completa com as demais configurações, como tipo de codec, bitrate e arquivo de saída. Algo como: ffmpeg -f pulse -i default -c:a libvorbis -b:a 128k audio.ogg Se você quiser modificar os parâmetros que o FFmpeg requesitará para a libpulse, existem opções para este fim, como -channels e -sample_rate (veja mais aqui ). A biblioteca fará as modificações necessárias automaticamente (reamostragem e downmix) quando...

Cuidado com encoders AAC open source

O Kraftwerk recomendou um tal de "Free AAC Converter" no FGdH. Eu fiquei curioso, pois os dois encoders AAC open source mais populares — o FAAC e a libavcodec (ffaac) — são tenebrosos. Horríveis. Instalei o referido programa e adianto que ele provavelmente use a libavcodec para gerar AAC. A propóstito, os trambiqueiros que desenvolvem esse programa estão violando a GPL, ou LGPL, dependendo das configurações que usaram para compilar o FFmpeg/Libav, pois não existe menção nenhuma sobre o uso das suas bibliotecas, nem muito menos o código fonte — do programa inteiro, no caso da GPL, ou do FFmpeg/Libav apenas, no caso da LGPL —, que eles são obrigados a disponibilizar. E deveriam fazer o usuário concordar com a GPL/LGPL na hora da instalação do programa também, o que não fazem. Mais um para o Hall of Shame . Na pasta do programa em "C:\Arquivos de Programas": | free-aac-converter-license.txt | free-aac-converter.exe | unins000.dat | unins000.exe | web...

Estátuas para o pessoal do FFmpeg

Vários codecs patenteados possuem decoders open source. O decoder em si é livre, o código é aberto. A restrição é que as patentes da tecnologia impedem livre distribuição de qualquer implementação (mesmo livre) sem pagamento de royalties; do encoder, decoder, ou ambos. Num Linux hoje, frameworks como o GStreamer (ou aplicativos que usem implementações próprias) passam no final das contas o trabalho para esses caras: MP3: libmad (GPL); libavcodec (ffmp3) AAC: faad2 (GPL); libavcodec (ffaac) AC-3 ("Dolby Digital"): liba52 (GPL); libavcodec (ffac3) DTS: libdca, antiga libdts (GPL); libavcodec (ffdts) Theora: libtheora (BSD); libavcodec (fftheora) VP6: libavcodec (ffvp6) MPEG-1, MPEG-2, MPEG-4 SP/ASP/AVC: libavcodec RealVideo: libavcodec VP8: libvpx (BSB); libavcodec (ffvp8) Como você pode ver, a libavcodec, parte do FFmpeg , que é licenciado pela GPL ou LGPL — dependendo de quais partes sejam habilitadas na compilação —, é capaz de decodificar todos os codecs ...

FFmpeg MT

O fork Libav foi quem integrou primeiro o branch "MT" do FFmpeg, mantido por Alexander Strange. A infraestrutura foi adicionada, porém a implementação da decodificação multithreading foi sendo feita aos poucos. Primeiro foram codecs mais simples para depois complexos como o VP8 e a família MPEG. Hoje foi adicionado código MT para decodificação dos codecs da família MPEG, incluindo MPEG-1, MPEG-2, MPEG-4 (H.264 = MPEG-4 AVC). Como a libavcodec do FFmpeg/Libav é o coração de muitos tocadores multimídia, é um marco importante, pois significa que em máquinas fracas (com pelo menos um dual-core), onde não existe aceleração na decodificação de H.264 por hardware, o novo código pode ser a diferença entre você conseguir ou não assistir a um vídeo full HD. Ou então significa um melhor uso da CPU. Lembrando que desde a versão 0.6 do FFmpeg, lançada há mais de um ano, foram adicionadas muitas otimizações em assembly para decodificação de H.264 e VP8, que tornarão o futuro FFmpeg/Libav ...