私の最初の考えは、オーディオからインスピレーションを得たビデオと一緒にオーディオファイルをYouTubeにアップロードすることでした。特定の視覚化は、スペクトル、スペクトログラム、またはオーディオによって変化する他の形式の視覚化など、さまざまな形式にすることができます。私はffmpegやsoxのすべての機能に精通しているわけではありませんが、このようなことをすぐに実行できるのか、それとも他のコマンドラインユーティリティを使用した一連のスクリプトとして実行できるのでしょうか。
オーディオファイルを取得してffmpeg
で実行し、ffmpegで使用可能ないくつかのフィルターに基づいてビデオを作成する例を次に示します。
例:
スペクトログラム:
ffmpeg -i song.mp3 -filter_complex showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt -y -acodec copy video.mp4
avectorscope:
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
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 。次に、 overlay を使用して目的の場所に配置し、 drawtext を使用してテキストを追加できます。
上記の例では、オーディオは再エンコードされる代わりに ストリームコピー (再多重化)されます。