2013-09-13 1 views
1

Я записываю несколько вызовов на свою АТС и сохраняю их как .wav-файлы в/tmp/на сервере УАТС. Затем я хотел бы перекодировать их в mp3 и отправлять их всем получателям в виде вложений.Как перенести wav-файл с сервера записи на mp3-транскодирующий сервер?

Я забочусь о том, что перекодирование из wav в mp3 может быть ресурсоемким, поскольку число пользователей растет, поэтому я бы хотел отправить wav-файл вместе с его метаданными (CallerID, адреса электронной почты получателей, время и дата записи) другой сервер, который будет посвящен транскодированию в mp3 и отправке по электронной почте полученных файлов. Это разгружает сервер УАТС только для обработки вызовов, а также не вызывает зависания вызова, ожидая завершения преобразования.

Я не уверен, как перейти к передаче метаданных и файлов на сервер транскодирования.

Я думал о том, чтобы кормить wav-файл и метаданные скриптом PHP, запущенным на сервере транскодирования с помощью cURL, но будет ли это наиболее эффективным способом? Я также рассказываю о передаче файла волны через общий монстр NFS с уникальными именами каталогов и метаданных, сохраненных в текстовом файле вдоль cron, для обработки любых заданий, ожидающих там каждые 5 минут. Процесс извлечения метаданных из текстового файла кажется немного запутанным и не очень изящным.

Мне очень интересно узнать, как более опытные кодеры будут подходить и решать эту проблему.

Cheers!

ответ

0

вместо того, чтобы нажать файл с сервера звездочки, я бы скорее попытался вытащить его из машины перекодировки. в конце каждой операции транскодирования я проверил бы, есть ли в исходном каталоге больше файлов, и вытащить самый старый из них, который я нашел, или спать на несколько секунд, если вам нечего делать и повторить попытку. сценарий оболочки должен быть достаточно хорош. вы можете дросселировать нагрузку вашего процессора кодирования, иметь один или несколько процессов кодирования, работающих одновременно и т. д. NFS, ftp или scp будут примерно такими же хорошими.

Смежные вопросы