когда то занимался этим вопросом, но столкнулся с ограничениями пхп в 32бит ос, более двух гиг так не передать, и забил