O FFMPEG está duplicando a duração do áudio ao extrair do vídeo

4

Eu tenho um arquivo de vídeo, video.mp4 . Tem 18 minutos e 23 segundos de duração. Estou procurando extrair o somente áudio desse vídeo e criar um MP3 da maior qualidade possível a partir do áudio do vídeo.

Alguns googlefu me levam a este comando: ffmpeg -i video.mp4 audio.mp3

O problema é que, esse comando duplica o comprimento do áudio que é emitido (a duração é de 36 minutos e 46 segundos). Ele faz o loop da trilha de áudio uma vez, então a saída contém todos os 18 minutos e 23 segundos de áudio, e imediatamente inicia os 18 minutos e 23 segundos de áudio novamente.

Mais alguns googlefu me levam a esse sinalizador: -write_xing 0 de essa pergunta SO , mas mesmo com essa bandeira, ainda faz o loop do áudio.

EDITAR : googlefu e eu parecendo pensar que tem algo a ver com 2 canais de áudio (e talvez o canal 2 em loop imediatamente após o canal 1, ao invés de mesclar os dois) me levar a esta bandeira : -ac 1 para forçá-lo a mesclar estéreo - > mono. Isso também não funcionou, e ainda produz um arquivo MP3 de 38 minutos e 46 segundos.

Como posso extrair (para MP3) o áudio de um arquivo de vídeo, sem dobrar a duração?

    
por Samuel Stiles 23.03.2015 / 18:21

2 respostas

4

Tente isto:

ffmpeg -i video.mp4 -vn -sn -c:a mp3 -ab 192k audio.mp3

Eu usei isso para o mesmo propósito e isso não alterou a duração do áudio. Além disso, (IMHO) tentando aumentar a qualidade é apenas um exagero, mas você pode tentar com 320k.

    
por 23.03.2015 / 19:55
1

O Google apresentou alguns relatórios de erros no ffmpeg Trac que mostram que -write_xing 0 em sua linha de comando do ffmpeg também pode corrigi-lo. Parece que a discrepância no comprimento decorre de valores incorretos nos dados do Xing sendo gravados por padrão.

    
por 18.05.2017 / 19:54

Tags