Comando para extrair o áudio do vídeo sem conversão

25

Eu sei que flve os mp4arquivos contêm aacáudio, enquanto o avivídeo normalmente mp3transmite áudio.

Que comando (avconv, ffmpeg) extrairia o áudio sem transcodificá-lo?


fonte
Você pode estar interessado em um script PHP que criei, usado para determinar automaticamente a extensão do arquivo de áudio de saída.
Gras Double

Respostas:

29
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

Aqui está uma breve explicação sobre o que cada parâmetro faz:

  • -i opção especifica o arquivo de entrada.
  • -vn A opção é usada para pular a parte do vídeo.
  • -acodec copy copiará o fluxo de áudio mantendo o codec original.
jherran
fonte
enquanto o vídeo em mp4 contém áudio aac, não mp3, isso mantém o fluxo de áudio sem transcodificação?
1
Não cuidei da extensão do arquivo de saída, meu erro. Atualizado a resposta. De qualquer forma, se você ler a resposta completa, encontrará a cópia -acodec, isso evita a transcodificação.
jherran
eu sugiro m4a (recipiente para aac) em vez de aac, porque parece que não é fácil de jogar
é possível, ao usar ffmpeg ou avconv, ter um comando sem mencionar os nomes reais dos arquivos de entrada / saída, para que o comando seja usado como tal? (eu gostaria de usar isso em uma ação de menu de contexto no gerenciador de arquivos nemo)
1
Você pode querer usar uma variável ou algo parecido, mas é melhor fazer uma pergunta com todos os detalhes específicos.
jherran
4

Como resposta complementar, com um comando que não precisa do nome específico do arquivo.

Para um vídeo contendo áudio aac:

ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a

Para usar em um comando do menu de contexto, um formulário como este funciona:

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f 

Substitua pela saída de formato de áudio correspondente por outra entrada de formato de vídeo.


Fonte inicial aqui .


fonte