как реализовать создание mp3 на лету?

Мне нужно создавать mp3 на лету, конвертируя кучу небольших файлов wav и соединяя их вместе. Я использую инструмент командной строки с открытым исходным кодом под названием Sox для создания mp3. http://sox.sourceforge.net/ Я использую Amazon aws и могу использовать s3 для хранения все wav-файлы по мере их загрузки и сделать их доступными для потоковой передачи. То, как я собирался реализовать это:

Загрузка: Просто поместите файлы wav на s3

Создание mp3: проверьте, существует ли каждый файл wav на веб-сервере, если нет, загрузите его. Затем выполните обработку мультимедиа на веб-сервере и отправьте mp3 клиенту. Сохраните mp3 на s3 для последующего поиска.

Мой вопрос в том, нужно ли мне делать что-то особенное, чтобы реализовать это эффективно. Я иду в тупик?


person chipmunkrumblestud    schedule 10.03.2015    source источник


Ответы (1)


Я построил что-то, что делает именно это. Это Radio Reddit Media Transcoder с открытым исходным кодом.

https://bitbucket.org/radioreddit/radio-reddit-media-transcoder

Функциональность S3 еще не встроена, но я добавлю ее в ближайшее время. А пока его можно немного модифицировать под свои нужды. По сути, этот сервер читает ваши исходные медиафайлы в любом формате, запускает их через внешний кодек (например, FFmpeg или Sox) и передает вывод клиентам.

Этот метод хорошо работает для MP3, но вам нужно быть осторожным с форматами, которые вы не можете транслировать прямо из кодировщика. Все, что находится в контейнере MP4, необходимо сначала записать на диск, потому что некоторая часть файла в начале должна быть записана после того, как остальная часть файла была записана. Я планирую использовать режим, в котором эти файлы сначала записываются в свободное пространство перед отправкой клиенту, но это еще не сделано. В любом случае, для MP3 вы можете использовать его как есть.

person Brad    schedule 10.03.2015