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 .

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *