Como faço para salvar bytearray no servidor via php?

Eu estou usando as3 + php simples, sem FMS ou tal entre. Eu estou fazendo um aplicativo de gravação de vídeo, e eu posso capturar quadros e convertê-los para flv codificado bytearray. Mas o problema acontece quando tento salvá-lo no servidor. Se eu converter o bytearray para uma string via codificação base64 e depois enviar essa string para o servidor, tudo funciona ok, mas o problema é que como é um arquivo de vídeo, pode ser bem grande, como 20mb ou mais, e por isso é preciso muito tempo para codificá-lo e, em seguida, carregá-lo, além disso, normalmente ocorrerá um tempo limite de script durante a codificação. Para tornar as coisas mais rápidas, estou tentando enviar o bytearray diretamente, mas meu painel net firebug mostra que os dados enviados são de 20 a 46 bytes. Por favor, me diga o que estou fazendo errado.

//var encoded_str = Base64.encodeByteArray(_baFlvEncoder.byteArray);
            //Handle Upload
            /*var url_data:URLVariables = new URLVariables();
            url_data.data = _baFlvEncoder.byteArray;*/
            var url_ref:URLRequest = new URLRequest("save_vid.php");

            url_ref.contentType = 'application/octet-stream';
            url_ref.data = _baFlvEncoder.byteArray;//url_data;
            url_ref.method = URLRequestMethod.POST;

            var urlLoader:URLLoader = new URLLoader();

            // just making sure the server knows we are sending data in proper format
            //urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
            urlLoader.dataFormat = URLLoaderDataFormat.BINARY;

            try {
                urlLoader.load( url_ref );
            } catch (e:Error) {
                trace(e);
            }

E meu código PHP:

<?php
echo 'Data:<pre>';
print_r($_POST);
echo '</pre>';
//$decodedData= base64_decode($GLOBALS[ 'HTTP_RAW_POST_DATA' ]);
//file_put_contents("test.flv",$decodedData);
file_put_contents("test.flv",$GLOBALS[ 'HTTP_RAW_POST_DATA' ]);
?>

questionAnswers(3)

yourAnswerToTheQuestion