lame + php

k1221

Новичок
lame + php

Здравствуйте!

Ситуация: есть сервер, на сервере большое количество (около 2 млн) MP3 файлов.
Пользователям предлагается скачать нужный им файл в разных вариантах с разным битрейтом (192, 128 и 96 кб/с к примеру). Конвертировать сейчас все MP3 под нужный формат, я думаю, не имееет смысла, во-первых, и места не хватит, ну и во-вторых, множество из этих файлов никогда никто и не скачает.

Соответственно было принято решение генерировать их на лету (если имеются другие идеи - поделитесь, пожалуйста).
Прошу совета, как лучше это реализовать. Конверт будет осуществляться при помощи lame.

Ясно, что процесс конверта нужно запускать в бэкграунде (либо так http://www.php.net/manual/ru/function.system.php#76119), либо кроном (кстати, что лучше?).
Но в таком случае возникает вопрос, как отследить, что нужная нам mp3 уже сконвертилась до конца?
Парсить то, что вернет system( точнее exec() ) в $output?
Или проверять mp3 на соответствующий размер? Т.е. если исходная mp3 с битрейтом 256 весит 2Мб, то конечная с битретом 128 будет 1Мб.
Или есть еще варианты?

Спасибо.
 

MiksIr

miksir@home:~$
Парсить результат вызова system. Заодно посмотрев на коды возврата - думаю lame должен вернуть код успеха. Делать это не текущим процессом, а поднять демона который будет делать это в фиксированное число потоков и общаться с "внешними" скриптами, например, через очереди.
 

Krishna

Продался Java
На лету конвертировать - сервер сдохнет.
Надо сделать кеш на определенное количество файлов и конвертировать на лету только в случае отсутствия данных в кеше.
 

Sych

Новичок
gogo вам в помощь если надо конвертировать на скорость
 
Сверху