С помощью ffmpeg можно сгенерировать представление сигнала на основе изображения из аудиофайла с помощью этой команды:

ffmpeg -i input -filter_complex "showwavespic=s=640x120" -frames:v 1 output.png

Это производит вывод, похожий на следующее:

изображение формы волны

с https://trac.ffmpeg.org/wiki/Waveform


Это создает изображение формы волны для всего аудиофайла. Как я могу сделать так, чтобы он только создавал форму волны для определенной его части, без предварительного отдельного вырезания исходного файла в совершенно новый аудиофайл? Скажите от 50 секунд до 60,453 секунд.

1 ответ1

4

Я предполагаю, что вы сможете использовать поиск с отображением формы волны ... в противном случае вам сначала нужно будет обрезать аудиоклип.

Ищу в FFMpeg:

ffmpeg -ss 00:50:00 -i запустится через 50 секунд в файл

и затем мы используем -to 60:45.300 после ввода, чтобы позволить файлу проигрываться так далеко.

В сочетании с входным файлом это дает нам:

ffmpeg -ss 00:50:00 -to 00:60:43 -i input -filter_complex "showwavespic=s=640x120" -frames:v 1 output.png

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .