Eu sei que flv
e mp4
os arquivos contêm aac
áudio, enquanto avi
vídeo geralmente mp3
fluxos de áudio.
Qual comando (avconv, ffmpeg) extrairia o áudio sem transcodificá-lo?
Comentários
- Você pode estar interessado em um script PHP que criei, que uso para determinar automaticamente a extensão do arquivo de áudio de saída.
Resposta
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
opção é usada para pular a parte do vídeo. -
-acodec copy
irá copiar o stream de áudio mantendo o codec original.
Comme nts
- enquanto o vídeo mp4 contém áudio aac, não mp3, isso mantém o fluxo de áudio sem transcodificação?
- Didn ' Não cuide da extensão do arquivo de saída, erro meu. Atualizou a resposta. De qualquer forma, se você ler a resposta completa, descobrirá que -acodec copia, isso evita a transcodificação.
- sugiro m4a (contêiner para aac) em vez de aac, porque parece que não é fácil de jogar / li>
- é 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? (gostaria de usar isso em uma ação do menu de contexto no gerenciador de arquivos nemo)
- Você pode querer usar uma variável ou algo parecido, mas é melhor se você fizer uma pergunta com todos os detalhes específicos.
Resposta
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 de 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 para outra entrada de formato de vídeo.
Fonte inicial aqui .