No FFmpeg os codecs de áudio e vídeo são selecionados por: “-acodec codec” e “-vcodec codec” respectivamente.
Através do comando: ffmpeg -formats , é possível listar os formatos de arquivos de entrada e saída, e também os codecs suportados.
Abaixo segue algumas das opçoes comuns:
Nome do codec de áudio
Descrição
mp3lame
encode to VBR, ABR or CBR MP3 with LAME
faac
FAAC AAC audio encoder
toolame
MPEG Audio Layer 2 encoder
twolame
MPEG Audio Layer 2 encoder based on tooLAME
pcm
uncompressed PCM audio
copy
sem compreensão, somente copia os frames
Nome do codec de vídeo
Descrição
flv
Flash Video
xvid
Xvid, MPEG-4 Advanced Simple Profile (ASP) codec
x264
x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 codec
nuv
nuppel video, used by some realtime applications
raw
uncompressed video frames
copy
não recodifica, somente copia os frames
mov
QuickTime Video
dv
Digital Video
Também existe uma formam mais simples de selecionar o codec, utilizando no lugar do -vcodec, o parametro: “-target type“
Onde no lugar de type, podemos substituir por:
(“vcd”, “svcd”, “dvd”, “dv”, “dv50”, “dv25″,”pal-vcd”, “ntsc-svcd”, … )
Sendo assim, os parametros de bitrate, codecs, buffer sizes serão automaticamente ajustados.
Na próxima publicação, aprenderemos a utilizar a ferramenta, convertendo vídeos, removendo o audio, criando snapshot, etc…
FFmpeg é uma solução completa para gravar, converter e transmitir áudio e vídeo. Desenvolvido para linux, também pode ser compilado para Windows.
O projeto está sempre sendo considerado muito experimental, apesar de funcionar muito bem, pois muitos componentes multimedia e recursos estão constantemente sendo adicionados. Pequenas atualizações são feitas e um espaço muito curto de tempo, por isso não é lançado ainda uma versão formal do projeto.
O projeto é formado por diversos componentes:
ffmpeg: Linha de comando para converter arquivos multimedia entre vários formatos diferentes. ffserver: É um “multimedia streaming server” para transmissões ao vivo via HTTP. ( RTSP em desenvolvimento ) ffplay: É um simples “media player” com biblioteca FFmpeg libavcodec: É uma biblioteca que contém “decoders” e “encoders” para codec de áudio e vídeo libavformat: É uma biblioteca que contém demultiplexador e multiplexador para formatos de “container” multimedia. libavutil: É uma biblioteca de ajuda que contém rotinas comuns para diferentes partes do FFmpeg. libpostpro: É uma biblioteca que contém rotina de processamento pós video. libswscale: É uma biblioteca que contém rotina de escala de imagem. libavfilter: É o substituto do “vhook”, que permite o video ser modificado ou examinado entre o “decoder” e o “encoder”
Codecs Suportados:
* Snow
* FFV1
* ATRAC3
* H.261, H.263 and H.264/MPEG-4 AVC
* Indeo 2 and 3
* QDesign Music Codec 2, used by many QuickTime movies prior to QuickTime 7.
* Smacker video
* Sorenson 3 Codec used by many QuickTime movies
* Theora (together with Vorbis makes a base for the .ogg format)
* Truespeech
* TXD
* VP5 and VP6
* Vorbis
* Windows Media Audio
* Some Windows Media Video codecs, including WMV1, WMV2 and WMV3
The default MPEG-4 codec used by FFmpeg for encoding has the FourCC of FMP4.
Formatos
* ASF
* AVI
* BFI
* IFF
* RL2
* FLV
* Material Exchange Format
* Matroska
* Maxis XA
* MSN Webcam stream
* MPEG transport stream
* TXD
* OMA
Protocolos
* HTTP
* RTP
* RTSP
* TCP
* UDP
——————————————————————-
Instalando em LINUX ( No exemplo, Utilizei o UBUNTU )
sudo aptitude install ffmpeg
Depois disso, basta utilizar o ffmpeg com os parametros necessário, que será apresentado em um novo POST !
——————————————————————-
Instalando em Windows ( No exemplo, Windows XP )
O Objetivo deste POST foi além de apresentar o FFmpeg, foi disponibilizar o executável para download, já que é complicado de encontrar e de compilar em Windows.
O download pode ser feito em: https://rafaelbiriba.com/ffmpeg-r16537-gpl-static-win32.zip
Fonte Original: http://ffmpeg.arrozcru.com/builds/
O arquivo .zip ( 6.5 MB ) possui a documentação do FFmpeg, a documentação da versão, uma dll (pthreadGC2) e os executáveis ffmpeg.exe e ffplay.exe.
Antes de utilizar-los, precisamos mover a dll (pthreadGC2) para dentro da pasta system32 do windows. Para isso copie o arquivo pthreadGC2.dll e cole em C:\WINDOWS\system32\ de forma que seja acessivel por: C:\WINDOWS\system32\pthreadGC2.dll
Depois disso, os executáveis estão disponíveis para uso !
Sua utilização será exemplificada e explicada num próximo post. =)