Dependendo dos codecs usados no seu FLV, você pode se dar ao luxo de envolvê-lo novamente em um contêiner mp4. Você vai precisar H.264
ou MPEG4 simple profile
vídeo e AAC
áudio. Você pode descobrir algumas informações no seu arquivo de origem comffmpeg -i input.flv
Não tenho certeza se simplesmente ter H.264 / MPEG4 Simple + AAC é bom o suficiente ou se há opções específicas para os codecs suportados. É fácil o suficiente para testar:
Tente usar
ffmpeg -i input.flv -c copy -copyts output.mp4
-copyts
é copy timestamps
que vai ajudar a sincronização de áudio.
Se isso não funcionar, tente forçar codecs de áudio e vídeo. Isso irá recodificar o arquivo:
ffmpeg -i input.flv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4
Para melhorar a qualidade do vídeo, você pode usar um valor menor de CRF, por exemplo, qualquer coisa abaixo de 18. Para obter um arquivo menor, use um CRF maior, mas observe que isso prejudicará a qualidade.
Para melhorar a qualidade do áudio, use um valor de qualidade mais alto. Para FAAC, 100
é o padrão.
Aqui estão algumas reflexões sobre o comando ffmpeg sugerido na pergunta.
-ar
refere-se à taxa de amostragem de áudio. Eu recomendaria não mexer com isso até entender melhor as coisas. Se você deseja reproduzir com codificação de áudio, ajuste a taxa de bits (por exemplo, -b:a 128k
) e deixe o codificador escolher o que fazer com base nisso.
Se você acabar indo por esse caminho ...
A qualidade do CD é de amostragem de 44100Hz; vídeo típico usa 48000Hz.
Você pode observar que 22050 no exemplo da pergunta original é 1/2 da taxa de amostragem da qualidade do CD. se você estiver convertendo o material do CD com baixa conversão, é uma boa escolha. Se você está começando com uma fonte de 48KHz (que provavelmente é; novamente, isso é muito mais comum do que 44100 em arquivos de vídeo), eu usaria 24Khz. Provavelmente não vai importar muito, mas pode parecer um pouco melhor e usar um pouco menos de CPU para fazer a conversão.
ffmpeg
suporte foi interrompidolibaac
. Esta pergunta sugere o usoffmpeg
do codificador AAC nativo via-c:a aac
ou do codec Fraunhofer FDK AAC via-c:a libfdk_aac
(que requer compilaçãoffmpeg
com suporte paralibfdk_aac
).