@toppi

Как создать и объединить аудио в golang?

У меня есть 400+ аудиофайлов где каждый примерно длинной в 3-4 секунды. И мне нужно либо создать пустой аудиофайл определенного промежутка времени и в него уже непосредственно вставлять мои файлики, либо объединить все эти файлы в один, но с генерацией пустых промежутков. Вот вопрос в том, как собственно все это реализовать и желательно с использованием Golang
  • Вопрос задан
  • 427 просмотров
Решения вопроса 1
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
Если говорить про реализацию на Go - как вариант...

1. создаёте файл и encoder как тут https://github.com/viert/go-lame

2. в цикле читаете ваши файлы при помощи mp3 decoder'a, например как тут https://github.com/hajimehoshi/go-mp3/blob/master/...
и пишете их содержимое в encoder

Там, где нужна пустота - попробуйте записать/сгенерировать 1сек или меньше тишины и когда нужно - пишите её в encoder.

Если задачу нужно просто решить и использовать Go не обязательно - её можно решить при помощи консольной команды `ffmpeg` примерно так:
ffmpeg file1.mp3 file2.mp3 silence1sec.mp3 silence1sec.mp3 output.mp3


Если всё же нужно реализовать на Go - то есть, как минимум две обёртки
https://github.com/giorgisio/goav
https://github.com/xfrr/goffmpeg

Можете сначала сделать чтобы из консоли всё заработало, а потом уже "покрутить" обёртки
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы