Im создает флеш-игру, в которой есть функция для захвата / записи своего игрового процесса, который может быть просмотрен позже пользователем, как повтор.
На данный момент Im уже способен записывать игру и записывать ее в формат flv в переменной ByteArray.
Сейчас я работаю над тем, как отправить этот ByteArray (видеофайл) в php-скрипт и сохранить его на веб-сервере.
Я запустил URLLoader во флэш, где он может отправлять данные, а php получит его через метод POST. К сожалению, ByteArray, содержащий данные flv, должен быть сначала закодирован для кодирования php для его чтения. Я понял это из примера в сети, где он делает то же самое, что только отправляет JPEG ByteArray вместо формата FLV с помощью JPEGENCODER.
Есть ли какой-либо существующий класс, такой как JpegEncoder для FLV-формата или любых видеоформатов? Или любая работа вокруг, например, создание кодера?
Спасибо заранее, ребята.
вот мой текущий код для отправки ByteArray
//send byteArray to a php script var request:URLRequest = new URLRequest(url); request.method = URLRequestMethod.POST; //need to correctly encode first the ByteArray in FLV format //.... request.data = fs; //FLV byteArray var loader:URLLoader = new URLLoader(); trace(request.data);
Просто понял это.
Теперь я могу успешно отправить flv byteArray в php-скрипт, где затем php получает его и сохраняет его как flv-файл в локальной системе и выгружает его на сервер youtube с использованием zend framework.
вот мой код во flash.
//send byteArray to a php script var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream"); var request:URLRequest = new URLRequest(url); request.requestHeaders.push (header); request.method = URLRequestMethod.POST; request.data = fs; //FLV byteArray var loader:URLLoader = new URLLoader(); trace(request.data); loader.load(request)
и scipt, который получает и сохраняет его как FLV-файл:
$im = $GLOBALS["HTTP_RAW_POST_DATA"]; $fp = fopen("testVid.flv", 'w'); fwrite($fp, $im); fclose($fp);
Оказывается, мне действительно не нужно кодировать byteArray, как то, что делает JPEGEncoder. Тем не менее, я все еще очень новичок в flash и php. И я понятия не имею, если это лучшая практика, которую я могу иметь. Совет будет очень благодарен. Спасибо, парни.