Convertendo de FLV para MP3 no Ubuntu
Acho que este post interessa a muita gente que baixa vídeos no YouTube a partir da extensão UnPlug do Firefox. Se você quer extrair o audio dos vídeos FLV que você tem mas não sabe como, eis aqui uma solução que talvez funcione no seu sistema. Assumo que você utiliza Ubuntu. Antes de poder realizar conversões você precisa dos seguintes pacotes de software:
- ffmpeg: que realiza a manipulação do arquivo FLV
- Alguns codecs específicos para o formato MP3
Para instalar o ffmpeg faça:
sudo apt-get install ffmpeg
O problema é que o comando de conversão não irá funcionar ainda. Após buscas em fóruns vi que o problema é que o Ubuntu não possui em seus repositórios oficiais pacotes não-livres, e aparentemente o codec utilizado pelo ffmpeg para extrair o conteúdo MP3 do arquivo FLV é não-livre. Para resolver o problema você precisa, primeiro, adicionar o Medibuntu à sua lista de repositórios (referência):
sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list
Em seguida adicione uma chave GPG necessária:
sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update
Bom, aqui vem a minha sacanagem: eu não tive paciência para descobrir qual, entre todos os codecs disponíveis, faria o ffmpeg realizar a conversão, então instalei todos. Se você estiver com tempo e paciência sobrando para descobrir, por favor deixe um comentário ao fim do artigo indicando qual é o pacote premiado. Assumo, deste ponto em diante, que você também irá instalar todos os codecs disponíveis no Medibuntu (em torno de 30MB). Você pode simplesmente fazer:
sudo apt-get upgrade
E esses pacotes todos serão instalados (e adicionalmente outros que você talvez não quisesse atualizar no momento, é bom lembrar).
Com todos os softwares necessários instalados podemos
utilizar o seguinte comando para extrair, por exemplo, o audio
do arquivo video.flv e colocá-lo no arquivo audio.mp3
(entenda melhor esses comandos lendo o manual do ffmpeg
ou com este post, de onde tirei a dica).
ffmpeg -title "Nome qualquer" -i video.flv -acodec mp3 -ac 2 -ab 128 -vn -y audio.mp3
Eis aqui a saída desse programa antes de instalar os codecs adicionais (utilizando um arquivo FLV real):
$ ffmpeg -title 'Space Travel' -acodec mp3 -i space.travel.live.acoustic.flv -acodec mp3 -ac 2 -ab 128 -vn -y space.travel.live.acoustic.mp3
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Mar 12 2008 14:31:53, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu4)
Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, flv, from 'space.travel.live.acoustic.flv':
Duration: 00:03:50.3, start: 0.000000, bitrate: 48 kb/s
Stream #0.0: Video: flv, yuv420p, 320x240, 29.97 fps(r)
Stream #0.1: Audio: mp3, 22050 Hz, mono, 48 kb/s
Output #0, mp2, to 'space.travel.live.acoustic.mp3':
Stream #0.0: Audio: 0x0000, 22050 Hz, stereo, 0 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Unsupported codec for output stream #0.0
E após a instalação dos codecs:
$ ffmpeg -title 'Space Travel' -acodec mp3 -i space.travel.live.acoustic.flv -acodec mp3 -ac 2 -ab 128 -vn -y space.travel.live.acoustic.mp3
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-liba52 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Mar 23 2008 22:28:54, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu6)
Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, flv, from 'space.travel.live.acoustic.flv':
Duration: 00:03:50.3, start: 0.000000, bitrate: 48 kb/s
Stream #0.0: Video: flv, yuv420p, 320x240, 29.97 fps(r)
Stream #0.1: Audio: mp3, 22050 Hz, mono, 48 kb/s
Output #0, mp3, to 'space.travel.live.acoustic.mp3':
Stream #0.0: Audio: mp3, 22050 Hz, stereo, 0 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Press [q] to stop encoding
size= 1796kB time=229.9 bitrate= 64.0kbits/s
video:0kB audio:1796kB global headers:0kB muxing overhead 0.006961%
Note que o arquivo video.flv não será alterado no processo.

July 20th, 2008 às 3:53 pm
vou gostar
August 24th, 2008 às 2:05 pm
Haooooo!!!
Valeu mesmo, era exatamente oque eu queria…
Vou linkar no meu bloga assim que possível! valeu!