Você pode usar ffmpeg
para criar vídeo a partir de áudio usando vários filtros.
Converta o áudio de entrada em uma saída de vídeo, exibindo o histograma de volume.
ffmpeg
ffmpeg -i input.flac -filter_complex \
"[0:a]ahistogram,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.flac, asplit [a][out1]; [a] ahistogram [out0]"
Veja a ahistogram
documentação para mais opções e exemplos.
Converta o áudio de entrada em uma saída de vídeo, exibindo a fase de áudio.
ffmpeg
ffmpeg -i input.wav -filter_complex \
"[0:a]aphasemeter=s=1280x720:mpc=cyan,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.wav, asplit [a][out1]; [a] aphasemeter=s=1280x720:mpc=cyan [out0]"
Veja a aphasemeter
documentação para mais opções e exemplos.
Converta o áudio de entrada em uma saída de vídeo, representando o escopo do vetor de áudio.
ffmpeg
ffmpeg -i input.mp3 -filter_complex \
"[0:a]avectorscope=s=1280x720,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mp3, asplit [a][out1]; \
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]"
Veja a avectorscope
documentação para mais opções e exemplos.
Converta o áudio de entrada em uma saída de vídeo representando o espectro de frequência com a escala de tons musicais.
ffmpeg
ffmpeg -i input.mp4 -filter_complex \
"[0:a]showcqt,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mp4, asplit [a][out1]; [a] showcqt [out0]"
Veja a showcqt
documentação para mais opções e exemplos.
Converta áudio de entrada em saída de vídeo representando o espectro de potência de áudio. A amplitude do áudio está no eixo Y, enquanto a frequência está no eixo X.
ffmpeg
ffmpeg -i input.mp4 -filter_complex \
"[0:a]showfreqs=mode=line:fscale=log,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mp4, asplit [a][out1]; [a] showfreqs=mode=line:fscale=log [out0]"
Veja a showfreqs
documentação para mais opções e exemplos.
Converta o áudio de entrada em uma saída de vídeo, representando o espectro de frequência de áudio.
ffmpeg
ffmpeg -i input.oga -filter_complex \
"[0:a]showspectrum=s=1280x720,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.oga, asplit [a][out1]; \
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]"
Veja a showspectrum
documentação para mais opções e exemplos.
Converta o áudio de entrada em uma saída de vídeo, representando as ondas de amostra.
ffmpeg
ffmpeg -i input.m4a -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[v]" \
-map "[v]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.m4a, asplit [a][out1]; [a] showwaves [out0]"
Veja a showwaves
documentação para mais opções e exemplos.
Converta o volume do áudio de entrada em uma saída de vídeo.
ffmpeg
ffmpeg -i input.mka -filter_complex \
"[0:a]showvolume=f=1:b=4:w=720:h=68,format=yuv420p[vid]" \
-map "[vid]" -map 0:a output.mp4
ffplay
ffplay -f lavfi "amovie=input.mka, asplit [a][out1]; [a] showvolume=f=255:b=4:w=720:h=68 [out0]"
Veja a showvolume
documentação para mais opções e exemplos.
Notas
Consulte a Wiki do FFmpeg: Guia de codificação H.264 para obter informações mais detalhadas sobre a qualidade da saída.
format=yuv420p
garante que a libx264 use um formato de pixel compatível com players de baixa qualidade como o QuickTime.
Em vez de recodificar por padrão, você pode usar -c:a copy
para transmitir o fluxo de cópia de áudio se o formato do contêiner de saída suportar o formato de áudio. Pense na cópia em fluxo (re-muxing) como copiar e colar - sem recodificação.
Obter ffmpeg
Você deve sempre usar uma versão recente, pois o desenvolvimento é muito ativo. Links para compilações do ffmpeg
Windows, OS X e Linux estão disponíveis na página de download do FFmpeg . Ou você pode seguir um guiaffmpeg
passo a passo para compilar .