private function uploadMediaChunked($path, array $parameters)
{
// Init
$init = $this->http('POST', self::UPLOAD_HOST, $path, ['command' => 'INIT', 'media_type' => $parameters['media_type'], 'total_bytes' => filesize($parameters['media'])]);
// Append
$segment_index = 0;
$media = fopen($parameters['media'], 'rb');
while (!feof($media)) {
$this->http('POST', self::UPLOAD_HOST, 'media/upload', ['command' => 'APPEND', 'media_id' => $init->media_id_string, 'segment_index' => $segment_index++, 'media_data' => base64_encode(fread($media, self::UPLOAD_CHUNK))]);
}
fclose($media);
// Finalize
$finalize = $this->http('POST', self::UPLOAD_HOST, 'media/upload', ['command' => 'FINALIZE', 'media_id' => $init->media_id_string]);
return $finalize;
}