Это, конечно, возможно, но я бы сказал, что этот подход неэффективен. Если вы не кешируете различные файлы, которые будут созданы, этот подход приведет к тому, что файлы будут транскодироваться каждый раз при выполнении запроса. Если вы кэшируете перекодированные файлы, но кэшированная версия недоступна (еще не была создана), клиенту придется подождать время, необходимое для перекодирования файла (что может легко составить 10 или даже 20 секунд в зависимости от длины файла и скорость сервера).
Я бы предпочел просто создать низкокачественную версию, которую все клиенты получат, скажем, 112 кбит / с, заранее. Это будет решение «один размер подходит всем». Файлы будут иметь качество потокового звука, достаточное для большинства целей и большинства клиентов. Тогда у меня будет качественная версия, доступная для скачивания.
Возможно, существуют более продвинутые решения, но вы, вероятно, в конечном итоге заплатите немало за это, не заработав слишком много.