.png)
Aqui está uma pergunta semelhante para Windows:
Ferramenta para consertar vídeo fora de sincronia com o áudio?
Espero resolver esse problema em um Mac.
Eu tentei o Handbrake e o Avidemux (o último parece ter uma opção - "shift" - para consertar, mas ele não reproduz o áudio, então não sei dizer se está fazendo alguma coisa!).
Responder1
Obtenha uma cópia do FFmpeg. Veja no final deste post como fazer isso.
Se o vídeo fica atrás do áudio ou vice-versa, isso realmente não importa. O comando básico é o seguinte. Passaremos a entrada duas vezes, como pode ser visto por duas -i
opções, depois atrasaremos uma entrada e mesclaremos novamente.
ffmpeg -i in.flv -itsoffset offset -i in.flv -map 1:0 -map 0:1 -c copy out.flv
Aqui,offset
é o atraso em segundos, por exemplo, 1.5
ou 0.35
. Este valor tem que ser positivo, portanto se o seu áudio estiver atrasado em relação ao vídeo, teremos que compensar o vídeo. Isso é mostrado no exemplo acima. Da mesma forma, se o vídeo estiver atrasado em relação ao áudio, teremos que compensar o áudio.
Então, como você escolhe atrasar o áudio ou o vídeo? Bem, como atrasamos tudo in.flv
, vamos apenas escolher os fluxos de áudio ou vídeo e mesclá-los com os fluxos de áudio ou vídeo originais. Isso é feito nas -map
opções.
Basicamente, map
tem dois números. Aquele antes dos dois pontos especifica o número do arquivo de entrada (começando em 0) e o segundo número especifica o fluxo do arquivo de entrada (também começando em 0).
Portanto, para atrasar o áudio, use as duas opções a seguir:
-map 1:0
significa: pegue o primeiro stream do segundo arquivo de entrada (vídeo do arquivo original)-map 0:1
significa: pegue o segundo stream do primeiro arquivo de entrada (áudio do arquivo atrasado)
Vire-o se precisar atrasar seu vídeo:
-map 0:0
significa: pegue o primeiro stream do primeiro arquivo de entrada (vídeo do arquivo atrasado)-map 1:1
significa: Pegue o segundo stream do segundo arquivo de entrada (áudio do arquivo original)
Finalmente, -c copy
simplesmente direi ao FFmpeg para copiar os fluxos de bits de vídeo e áudio. Isso significa que não haverá processo de codificação. Isso torna o comando ultrarrápido e você nem perderá qualidade no processo. Se, no entanto, você encontrar erros de sincronização, deixe de fora -c copy
e deixe o FFmpeg recodificar a entrada.
Você pode obter a versão estável mais recente do FFmpeg atravésCerveja caseira.
Abra um Terminal e digite:
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
Veja oRequerimentos de instalaçãotambém. Você deve instalar as ferramentas de linha de comando para Xcode, caso ainda não o tenha feito. Você precisará de um ID Apple para isso.
Depois que o Homebrew estiver instalado, instale o FFmpeg:
brew install ffmpeg
Feito isso, podemos usar o FFmpeg para consertar seu vídeo.