Qual é a melhor maneira de extrair áudio de um arquivo de vídeo?

19

Eu sou um grande fã do HandBrake . É o epítome do simples. Selecione um arquivo de vídeo (ou DVD), selecione uma predefinição, selecione um caminho de saída e clique em Iniciar. Depois de um certo período de tempo, em relação ao tamanho / qualidade do conteúdo, você terá um arquivo de vídeo praticamente perfeito, adequado para a mídia de sua escolha.

Eu tenho procurado qualidades semelhantes em um conversor de áudio e, mais preferencialmente, um extrator de áudio (de um determinado arquivo de vídeo). Gostaria de poder arrastar um arquivo de vídeo para um aplicativo, especificar que quero o arquivo de áudio no AAC com uma taxa de bits determinada, clicar em Iniciar e deixar o aplicativo fazer o resto.

Não sou avesso a usar o Handbrake para bastar o aspecto de conversão disso, desde que a extração de áudio após o fato seja um processo simples. O objetivo é dar o mínimo de passos possível.

Alguma dica? Apps? Idéias?

Jason Salaz
fonte
A fissão é uma boa utilidade para extrair dados de áudio de um arquivo de vídeo, e eu estava me preparando para fazer isso à moda antiga, trilha por trilha, manualmente. Não é minha preferência. Depois tive a idéia de escrever a Applescript, mas infelizmente parece que a Fission não possui um dicionário AS.
Jason Salaz
@ Jason considerou alguns scripts de interface do usuário para conversar com a Fission?
Nathan Greenstein
É geralmente um Applescript primitivo quando um determinado aplicativo não possui um dicionário? Clique no menu chamado "Arquivo". Clique no item de menu chamado "Salvar". Coisas mais ou menos assim?
Jason Salaz #
@ Jason sim. Mas pode ser melhor do que fazê-lo manualmente, dependendo de quantos deles você planeja fazer.
Nathan Greenstein
Eu me deparei com uma entrada na FAQ do Handbrake hoje: I just want audio, not video. Can I do that? Not with HandBrake, no. You could just encode the video at a low resolution with a fast low quality encoder like ffmpeg, then extract the audio track. Or you could use OSEx . Infelizmente, é apenas PPC. Booooo!
Jason Salaz

Respostas:

22

Finalmente encontrei a combinação exata de que precisava e a encontrei no ffmpeg .

Expandirei um pouco a questão e explicarei o fato de que eu já estava trabalhando com mp4 com vídeo / áudio; portanto, o MP4 Video (.m4v) e o AAC Audio (.m4a). Eu queria absolutamente uma versão do áudio extraída do vídeo.

Primeiro, é muito fácil instalar coisas como ffmpeg, mplayer, coisas criadas a partir delas e pacotes de código aberto similares hoje em dia. Entre Rudix , Homebrew , MacPorts e Fink (alguém mais usa o fink?), O software de terceiros é fácil de instalar.

Então, depois de instalar o ffmpeg e ter o ffmpegacesso na linha de comando, executei um comando como este:

ffmpeg -i videofile.mp4 -vn -acodec copy audiotrack.m4a

ffmpeg : o comando.

-i videofile.mp4 : o arquivo de vídeo de origem.

-vn : não grava (não considera) dados de vídeo.

-acodec copy : copia a fonte de áudio como está, é aqui que está toda a magia. O ffmpeg gravará os dados de áudio como vários codecs suportados, mas especificar a cópia leva a uma cópia exata bit a bit do fluxo. Juntamente com a desativação do vídeo via -vn, você tem uma única faixa de áudio dentro de um contêiner mp4.

audiotrack.m4a : o nome do arquivo de saída.

Não acredito que algo assim foi tão difícil e oculto por tanto tempo.

Como sempre pretendo extrair dados de áudio aac de um contêiner / vídeo em mp4, escrevi um pequeno script rápido para fazer isso.

#!/bin/bash

INFILE="$1"
TMPOUTFILE="${INFILE%.*}"
OUTFILE="${TMPOUTFILE##*/}.m4a"

ffmpeg -i "${INFILE}" -vn -acodec copy "${OUTFILE}"

Agora, eu simplesmente chamo rip_m4a_from_mp4 somevideofile.mp4e fico com uma versão apenas de áudio com o mesmo nome de arquivo, terminando em m4a.

Simples! Para mim de qualquer maneira. Sem GUIs, muito rápido, isso é apenas uma daquelas coisas que a linha de comando faz melhor.

Jason Salaz
fonte
Possivelmente, você pode substituir m4ana linha 5 por $2e especificar a nova extensão na linha de comando. Dessa forma, se você estiver trabalhando com outra coisa e souber qual é o áudio, poderá especificá-lo. Eu mesmo posso fazer isso e alterar o nome do script para 'rip_audio_from_video'. Genérico!
21812 Jason Salaz
Para começar. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"então brew install ffmpeg. Agora siga as instruções acima.
precisa saber é o seguinte
Homepage do Homebrew é brew.sh . Depois de seguir as instruções nessa página (caso elas mudem) brew install ffmpeg,. E então sim, então você pode seguir meus passos.
Jason SALAZ
2
Se você não quer re-codificar o áudio em outro formato, ffmpegpode fazer isso no mesmo comando. Por exemplo: ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3( catswhocode.com/blog/19-ffmpeg-commands-for-all-needs )
alexw
11
@alexw certifique-se de especificar 192k, não 192. Caso contrário, ele voltará a uma codificação de 128kbit / s.
smets.kevin
12

Você pode fazer isso diretamente no Finder, começando com o Mac OS X 10.7 (Lion), conforme descrito no OSX Daily .

A resposta curta é: selecione o arquivo ou arquivos no Finder, depois ctrlclique e escolha Serviços -> Codificar arquivos de vídeo selecionados .

Observe que pode ser necessário ativar esse serviço no painel de preferências do teclado .

insira a descrição da imagem aqui

Craig S. Cottingham
fonte
Uau! Muito conveniente! Outro motivo para usar um Mac!
Javad Sadeqzadeh
No meu caso, o tamanho do m4aarquivo resultante, em comparação com o uso, ffmpegfoi mais de 3 vezes maior. Pode ser uma preocupação, especialmente para arquivos maiores.
22418 Casimir
6

Eu arrastaria o filme para o GarageBand. O GarageBand dividirá o arquivo em áudio e vídeo, quando você poderá excluir a faixa de vídeo (deixando apenas a faixa de áudio).

Você pode clicar na opção Enviar música para o iTunes no menu Compartilhar (veja a foto). Isso criará os vários formatos para os quais você deseja exportar.

insira a descrição da imagem aqui

O melhor de tudo é que é gratuito :), pois todos os Macs vêm com o GarageBand. Além disso, também permite ajustar aspectos do áudio, como velocidade e volume.

Dito isto, se você deseja uma solução verdadeiramente automática e se sente à vontade na linha de comando do Terminal, informe-me nos comentários e apresentarei um script para permitir que você faça isso.

robzolkos
fonte
Não pretendo fazer isso por um motivo (a menos que esteja errado, sinta-se à vontade para me corrigir): Recompressão. Os arquivos de vídeo já possuem dados de áudio significativamente compactados e desejo preservar os dados de áudio originais o máximo possível. O recurso matador da Fission é "edição e reexportação sem perdas". Sem mencionar que o GarageBand é realmente muito lento para tarefas como esta: /. No entanto, esta é uma solução maravilhosa para uma tarefa que cumpre o assunto, então eu o marquei com +1 para esse aspecto.
Jason Salaz
4

O Quicktime 7 fará o trabalho com muita facilidade.

Basta abrir o vídeo e vá em Arquivo > Exportar > Som para AIFF / AU / Wave > selecione seu caminho e pronto! :)

nuc
fonte
Parece que pode precisar de encontrar o meu disco Snow Leopard ...
Jason SALAZ
@vxjasonxv você não precisa. Você pode baixado através do link fornecido ..
nuc
Ah, obrigada! Eu realmente não achei que o link fosse realmente substancial dessa maneira.
Jason Salaz
11
A mesma armadilha que adicionei à resposta de Rob se aplica aqui? Posso "salvar uma onda" do áudio, mas ele já está compactado e, em teoria, para usá-lo, eu teria que recomprimi-lo novamente, o que prefiro não fazer.
Jason Salaz 14/05
4

O QuickTime Player 10 também pode exportar áudio (sem recodificação).

Selecione Arquivo> Exportar> Somente áudio…

Testado no macOS 10.12 Sierra com QuickTime Player 10.4.

Melebius
fonte
11
Mas isso recodifica o áudio?
precisa
11
@JasonSalaz Não, basta extrair. Esta é a IMHO uma opção melhor. É bem rápido e preserva a qualidade. Além disso, você pode recodificá-lo a qualquer momento depois.
Melebius
11
Impressionante. Minha resposta ffmpeg também é extraída apenas, portanto, provavelmente leva apenas tanto tempo quanto o QuickTime. O benefício do ffmpeg é que ele não possui o peso de carga da interface do usuário inerente, por isso é sem dúvida mais rápido em 1 arquivo e exponencialmente mais rápido em muitos arquivos. Mas esta é uma ótima resposta para alguém versado em Automator / Applescripting, e talvez não seja tão confortável na linha de comando ou com scripts de shell.
Jason SALAZ
0

Simplesmente abro o arquivo de vídeo com audácia e depois exporto o áudio. Eu posso definir os parâmetros do arquivo de áudio exportado durante a exportação.

ttercek
fonte
Definir parâmetros de arquivo de áudio significa recodificar o áudio. O Audacity tem uma opção de passagem (extração inalterada)?
precisa