
когда я пытаюсь преобразовать звук в изображение (амплитудный спектр), отправляя его данные на stdout (он встроен в скрипт, поэтому мне не нужно записывать на диск), он терпит неудачу
ffmpeg -y -f alaw -ar 8000 -i 282578800275916.8000-audio-pcma -frames:v 1 -filter_complex aformat=channel_layouts=mono,compand,showwavespic=s=183322x15 -f png - 2>> ffmpegDrawErr.log
У меня в журнале есть запись: Запрошенный выходной формат «png» не является подходящим выходным форматом.
Но если я запущу его напрямую в файл
ffmpeg -y -f alaw -ar 8000 -i 282578800275916.8000-audio-pcma -frames:v 1 -filter_complex aformat=channel_layouts=mono,compand,showwavespic=s=183322x15 out.png 2>> ffmpegDrawErr.log
Работает отлично.
решение1
Для форматов изображений есть общий набор мультиплексоров (image2 и image2pipe). Формат задается с помощью опции кодека.
ffmpeg -y -f alaw -ar 8000 -i 282578800275916.8000-audio-pcma -frames:v 1 -filter_complex aformat=channel_layouts=mono,compand,showwavespic=s=183322x15 -c:v png -f image2pipe - 2>> ffmpegDrawErr.log