I figure it out the solution and modify the uploadMediaChunked function of the library.
private function uploadMediaChunked($path, $parameters)
{
// Init
$file = file_get_contents($parameters['media']);
$data = base64_encode($file);
$init = $this->http('POST', self::UPLOAD_HOST, $path, [
'command' => 'INIT',
'media_data' => $data,
'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,
'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;
}