Sox pipe к wav2png: эквивалент FFMpeg?

У меня есть эта команда, мне нужно выполнить в качестве фоновой задачи на моем сервере:

sox some-audio-file.foo -c 1 -t wav - | wav2png -w -o some-audio-file.png /dev/stdin

Но у меня уже есть ffmpeg скомпилирован со всеми правильными кодеками (что было полторы испытания), и я бы предпочел не устанавливать sox и снова пережить то же самое испытание.

Поэтому мне интересно, могу ли я передать аудио wav2png с помощью ffmpeg вместо? Что будет эквивалентно ffmpeg команда? Я уже некоторое время гуглю на это, и ничего, что я пробовал, не работает.

1 ответ

Выбери свою трубу

Непроверенный пример:

ffmpeg -i audio.foo -ac 1 -f wav - | wav2png -o audio.png /dev/stdin

В качестве альтернативы вы можете использовать протокол доступа к каналу UNIX.

ffmpeg -i audio.foo -ac 1 -f wav pipe: | wav2png -o audio.png /dev/stdin

Заметки

  • -ac 1 был добавлен к микшированию в моно, так как в настоящее время wav2png используется максимум всех каналов, но эта опция может быть лишней.

  • Вы можете использовать любой тип ввода, который содержит аудио и что ffmpeg можно декодировать.

  • Если вы просто хотите вывести определенный канал, используйте -map_channel вариант ( пример).

  • Просто используя - вместо /dev/stdin может сработать, но я не смог попробовать.

Визуализация аудио

Если вы хотите создать видео сигнала, используйте фильтр showwaves.

ffmpeg -i audio.foo -filter_complex \
"[0:a]showwaves=mode=line,format=yuv420p[v]" \
-map "[v]" -map 0:a -c:a copy output.mp4

Или используйте комбинацию фильтров: скриншот видео, визуализирующий музыку

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

Из Как кодировать видео для YouTube и других сайтов обмена видео.

Другие вопросы по тегам