답변:
ffmpeg
ffmpeg -i input.mp3 -filter_complex \
"[0:a]avectorscope=s=640x518,pad=1280:720[vs]; \
[0:a]showspectrum=mode=separate:color=intensity:scale=cbrt:s=640x518[ss]; \
[0:a]showwaves=s=1280x202:mode=line[sw]; \
[vs][ss]overlay=w[bg]; \
[bg][sw]overlay=0:H-h,drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf:fontcolor=white:x=10:y=10:text='\"Song Title\" by Artist'[out]" \
-map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv
ffmpeg
avectorscope , showspectrum 및 showwaves 와 같은 여러 필터를 사용하여 오디오를 시각화 할 수 있습니다 . 그런 다음 오버레이로 원하는 곳에 배치 한 다음 drawtext로 텍스트를 추가 할 수 있습니다 .
위의 예에서 오디오는 다시 인코딩되지 않고 스트림 복사 (다시 muxed)됩니다.
에서 FFmpeg은 위키 : 어떻게 YouTube 및 다른 비디오 공유 사이트에 대한 비디오를 인코딩합니다 .
fontfile
텍스트도 추가하기로 결정하거나 드로우 텍스트 부분을 제거하려면를 조정해야 할 수도 있습니다 .
다음은 오디오 파일을 가져 와서 실행하고 ffmpeg
ffmpeg에서 사용할 수있는 일부 필터를 기반으로 비디오를 만드는 예제입니다 .
예 :
스펙트럼 :
ffmpeg -i song.mp3 -filter_complex showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt -y -acodec copy video.mp4
벡터 이미지 :
ffmpeg -i song.mp3 -filter_complex avectorscope=s=320x240 -y -acodec copy video.mp4
줌 만델 브로트 :
ffmpeg -i song.mp3 -f lavfi -i mandelbrot=s=320x240 -y -acodec copy video.mp4
Codec not supported: VLC could not decode the format " " (No description for this codec)
"mp4"를 "mkv"로 변경하지 않으면 얻을 수 있습니다. 그러나 어쨌든 +1이 도움이되었습니다.