 
 
		
				
			 
 
		
				
			 
 
		
				
			colocas el link completo en un generador de mp4..Lo probé y anda de 10pts.
Como puedo colocarle el Jwplayer o VideoJs
Soy nuevo en esto... me dices cual puedo usar..??colocas el link completo en un generador de mp4..
 
 
		
				
			ClaroSoy nuevo en esto... me dices cual puedo usar..??
 
					
				 
 
		
				
			aquituweb/?fembed.php?url=url_fembed&reset=truehola normnal me sale el reproductor pero como agrego el enlace fembed
gracias por responder en verdad no se si lo estoy haciendo bien llego hasta alliaquituweb/?fembed.php?url=url_fembed&reset=true
Agregale al final de la url esto
aquituweb/?fembed.php?url=url_fembed&reset=true 😛
ME DICES si no entiendes
 
 
		
				
			te ha baneado fembed desde que lo usas ?Funciona de maravilla 😍
sabes como usarlo mi bro porfavor me estoy undiendo y no logro nadate ha baneado fembed desde que lo usas ?
 
 
		
				
					
				
			No se, si fue por eso, pero me banearon :v 😬te ha baneado fembed desde que lo usas ?
 
 
		
				
			ok para intentarlo con una cuenta nadamasNo se, si fue por eso, pero me banearon :v 😬
 
 
		
				
					
				
			El codigo antes de ser modificado, lo use y funciono de maravilla, pero como me quede sin cuenta, ya valioNadie me dira como hacerlo funcionar 🙁
solo llego hasta alli
https://fembad.net/f/l0z-nandnwjxj45/www.mimoviesfast.info/?fembed.php?url=url_fembed&reset=true
$url = 'https://feurl.com/v/kkxeds3jqnge83q';
class xURL
{
    public function __construct($cookies = null, $agent = null, $proxy = null)
    {
        $this->resources = [];
        $this->SETOPT    = array(
            'RETURNTRANSFER' => 1,
            'FOLLOWLOCATION' => 1,
            'SSL_VERIFYHOST' => 0,
            'SSL_VERIFYPEER' => 0,
            'CUSTOMREQUEST'  => 'GET',
        );
        $this->proxy = $proxy;
        if ($cookies) {
            $this->SETOPT['COOKIEJAR']  = $cookies;
            $this->SETOPT['COOKIEFILE'] = $cookies;
        }
        $this->SETOPT['USERAGENT'] = $agent;
    }
    public function cURLOPT($c = '')
    {
        if (!$c) {
            $c = $this->lastResource;
        }
        curl_setopt_array($c, array_combine(array_map(function ($k) {
            return constant('CURLOPT_' . $k);
        }, array_keys($this->SETOPT)), $this->SETOPT));
        return $this;
    }
    public function cURL($o = '')
    {
        $this->lastResource = curl_init();
        if (!$this->firstResource) {
            $this->firstResource = $this->lastResource;
        }
        if ($this->proxy) {
            $proxyData             = array_flip(explode('@', $this->proxy));
            $this->SETOPT['PROXY'] = $proxyData[0];
            if ($pD[1]) {
                $this->SETOPT['PROXYUSERPWD'] = $proxyData[1];
            }
            if ($this->URL) {
                $this->SETOPT['URL'] = $this->URL;
            }
            if (!$this->SETOPT['PROXYTYPE']) {
                $this->SETOPT['PROXYTYPE'] = 'HTTP';
            }
        }
        if ($o) {
            $this->ADDOPT($o);
        }
        if (@$this->httpHeaders) {
            curl_setopt($c, CURLOPT_HTTPHEADER, $this->httpHeaders);
        }
        $this->resources[] = $this->lastResource;
        return $this;
    }
    public function browse($URL = null, $ref = null, $post = null)
    {
        if ($URL) {
            $this->SETOPT['URL'] = $URL;
        }
        if ($ref) {
            $this->SETOPT['REFERER'] = $ref;
        }
        if ($this->SETOPT['POSTFIELDS'] || $this->SETOPT['POSTFIELDS'] = $post) {
            $this->SETOPT['POST']          = 1;
            $this->SETOPT['CUSTOMREQUEST'] = 'POST';
        } else {
            $this->SETOPT['POST'] = 0;
            unset($this->SETOPT['CUSTOMREQUEST']);
        }
        return $this->exec($this->cURL()->cURLOPT()->lastResource);
    }
    public function exec($c = '')
    {
        if (!$c) {
            $c = $this->lastResource;
        }
        $this->result = curl_exec($c);
        return $this;
    }
    private function close($c)
    {
        return curl_close($c);
    }
    public function getSize()
    {
        $s = $this->getHeader('Content-Range') ? explode('/', $this->getHeader('Content-Range')[1])[1] : $this->getHeader('Content-Length')[1];
        return $s;
    }
    public function searchHeader($h)
    {
        foreach ($this->headers as $k => $v) {
            if ($e = explode(': ', $v) and stristr($e[0], $h)) {
                return array_map('trim', $e);
            }
        }
        return false;
    }
    public function getHeader($header = null, $follow = 1)
    {
        $this->cURL(
            array(
                'HEADER'         => 1,
                'FOLLOWLOCATION' => $follow,
                //'NOBODY' => 1
                'RANGE'          => '0-200',
            )
        );
        $this->headers = array_filter(array_map('trim', explode(PHP_EOL, $this->exec($this->cURLOPT()->lastResource)->result)));
        if ($header) {
            return $this->searchHeader($header);
        }
        return $this;
    }
    private function flushBytes($c, $str)
    {
        echo $str;
        $this->flush();
        return strlen($str);
    }
    public function flush()
    {
        ob_end_flush();
        ob_flush();
        flush();
        ob_start();
        return $this;
    }
    public function ADDOPT($a)
    {
        $this->SETOPT = array_merge($this->SETOPT, $a);
        return $this;
    }
    public function cmd($c)
    {
        preg_match_all('/curl "[^"]+|-H "[^"]+|--[^"]+"[^"]+/', str_replace('^', '', str_replace('\^"', "'", $c)), $cmdInfo);
        $this->SETOPT['POSTFIELDS'] = '';
        foreach ($cmdInfo[0] as $curlInfo) {
            !strstr($curlInfo, '--data')
            ?
            strstr($curlInfo, '-H "')
            &&
            ($curlInfo = str_replace('-H "', '', $curlInfo))
            &&
            $this->headers[] = $curlInfo
            :
            $this->SETOPT['POSTFIELDS'] = urldecode(preg_replace('/--[^"]+"/', '', $curlInfo))
            ;
        }
        return $this->browse(str_replace('curl "', '', $cmdInfo[0][0]), '');
    }
    private function setRange($x, $r, $r2)
    {
        $this->ADDOPT(
            array(
                'HEADER'         => 0,
                'RANGE'          => $r . '-' . $r2,
                'NOPROGRESS'     => 0,
                'BUFFERSIZE'     => $this->bufferSize,
                'TIMEOUT'        => 0,
                'CONNECTTIMEOUT' => 0,
                'WRITEFUNCTION'  => array($this, 'flushBytes'),
            )
        );
        return $this->cURLOPT($x);
    }
    public function streamVideo($i = 0, $end = null, $s = 0, $bf = 10240)
    {
        $this->bufferSize = $bf;
        if (!$s) {
            $s = $this->getSize();
        }
        if (!$end) {
            $end = $s;
        }
        header('Content-Length:' . $end + 1);
        $this->setRange($this->lastResource, $i, $end);
        $this->exec($curl);
    }
}
$xURL = new xURL('cookies.txt', $_SERVER['HTTP_USER_AGENT']);
$host = str_ireplace('www.', '', parse_url($url)['host']);
preg_match('/v\/([a-z0-9-]+)/', $url, $fembedId);
$xURL->cmd('curl "https://' . $host . '/api/source/' . $fembedId[1] . '" -H "authority: ' . $host . '" -H "accept: */*" -H "origin: ' . $host . '" -H "x-requested-with: XMLHttpRequest" -H "user-agent: ' . $_SERVER['HTTP_USER_AGENT'] . '" -H "content-type: application/x-www-form-urlencoded; charset=UTF-8" -H "sec-fetch-site: same-origin" -H "sec-fetch-mode: cors" -H "referer: https://' . $host . '/v/' . $fembedId . '" -H "accept-language: es-ES,es;q=0.9" --data "r=^&d=' . $host . '" --compressed');
$videoData           = json_decode($xURL->result);
$xURL                = new xURL('cookies.txt', $_SERVER['HTTP_USER_AGENT']);
$videoLocation       = $videoData->data[count($videoData->data) - 1]->file;
$xURL->SETOPT['URL'] = $videoLocation;
$size = $xURL->getSize();
if ($_SERVER['HTTP_RANGE']) {
    $rangeReceived = explode('-', explode('=', $_SERVER['HTTP_RANGE'])[1]);
}
$beginReceived = preg_replace("/[^0-9](.*)$/", '', $rangeReceived[0]);
$endReceived = preg_replace("/[^0-9](.*)$/", '', $rangeReceived[1]);
$begin = $beginReceived or $begin = 0;
$end = $endReceived or $end = 1024 * 1024 * 2 + $begin;
$begin > 0 || $end < $size ? header('HTTP/1.0 206 Partial Content') : header('HTTP/1.0 200 OK');
$length = $end - $begin + 1;
header("Content-Length: $length");
header("Content-Type: video/mp4");
header('Accept-Ranges: bytes');
header("Content-Transfer-Encoding: BINARY");
header("Content-Disposition: inline");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Connection: close');
header("Content-Range: bytes $begin-$end/$size");
$videoLocation = $xURL->searchHeader('Location');
$xURL->streamVideo($begin, $end, $size, 10240);luego de poner eso que sigue le pongo la url y no funciona sale lo mismoEl codigo antes de ser modificado, lo use y funciono de maravilla, pero como me quede sin cuenta, ya valio
PHP:$url = 'https://feurl.com/v/kkxeds3jqnge83q'; class xURL { public function __construct($cookies = null, $agent = null, $proxy = null) { $this->resources = []; $this->SETOPT = array( 'RETURNTRANSFER' => 1, 'FOLLOWLOCATION' => 1, 'SSL_VERIFYHOST' => 0, 'SSL_VERIFYPEER' => 0, 'CUSTOMREQUEST' => 'GET', ); $this->proxy = $proxy; if ($cookies) { $this->SETOPT['COOKIEJAR'] = $cookies; $this->SETOPT['COOKIEFILE'] = $cookies; } $this->SETOPT['USERAGENT'] = $agent; } public function cURLOPT($c = '') { if (!$c) { $c = $this->lastResource; } curl_setopt_array($c, array_combine(array_map(function ($k) { return constant('CURLOPT_' . $k); }, array_keys($this->SETOPT)), $this->SETOPT)); return $this; } public function cURL($o = '') { $this->lastResource = curl_init(); if (!$this->firstResource) { $this->firstResource = $this->lastResource; } if ($this->proxy) { $proxyData = array_flip(explode('@', $this->proxy)); $this->SETOPT['PROXY'] = $proxyData[0]; if ($pD[1]) { $this->SETOPT['PROXYUSERPWD'] = $proxyData[1]; } if ($this->URL) { $this->SETOPT['URL'] = $this->URL; } if (!$this->SETOPT['PROXYTYPE']) { $this->SETOPT['PROXYTYPE'] = 'HTTP'; } } if ($o) { $this->ADDOPT($o); } if (@$this->httpHeaders) { curl_setopt($c, CURLOPT_HTTPHEADER, $this->httpHeaders); } $this->resources[] = $this->lastResource; return $this; } public function browse($URL = null, $ref = null, $post = null) { if ($URL) { $this->SETOPT['URL'] = $URL; } if ($ref) { $this->SETOPT['REFERER'] = $ref; } if ($this->SETOPT['POSTFIELDS'] || $this->SETOPT['POSTFIELDS'] = $post) { $this->SETOPT['POST'] = 1; $this->SETOPT['CUSTOMREQUEST'] = 'POST'; } else { $this->SETOPT['POST'] = 0; unset($this->SETOPT['CUSTOMREQUEST']); } return $this->exec($this->cURL()->cURLOPT()->lastResource); } public function exec($c = '') { if (!$c) { $c = $this->lastResource; } $this->result = curl_exec($c); return $this; } private function close($c) { return curl_close($c); } public function getSize() { $s = $this->getHeader('Content-Range') ? explode('/', $this->getHeader('Content-Range')[1])[1] : $this->getHeader('Content-Length')[1]; return $s; } public function searchHeader($h) { foreach ($this->headers as $k => $v) { if ($e = explode(': ', $v) and stristr($e[0], $h)) { return array_map('trim', $e); } } return false; } public function getHeader($header = null, $follow = 1) { $this->cURL( array( 'HEADER' => 1, 'FOLLOWLOCATION' => $follow, //'NOBODY' => 1 'RANGE' => '0-200', ) ); $this->headers = array_filter(array_map('trim', explode(PHP_EOL, $this->exec($this->cURLOPT()->lastResource)->result))); if ($header) { return $this->searchHeader($header); } return $this; } private function flushBytes($c, $str) { echo $str; $this->flush(); return strlen($str); } public function flush() { ob_end_flush(); ob_flush(); flush(); ob_start(); return $this; } public function ADDOPT($a) { $this->SETOPT = array_merge($this->SETOPT, $a); return $this; } public function cmd($c) { preg_match_all('/curl "[^"]+|-H "[^"]+|--[^"]+"[^"]+/', str_replace('^', '', str_replace('\^"', "'", $c)), $cmdInfo); $this->SETOPT['POSTFIELDS'] = ''; foreach ($cmdInfo[0] as $curlInfo) { !strstr($curlInfo, '--data') ? strstr($curlInfo, '-H "') && ($curlInfo = str_replace('-H "', '', $curlInfo)) && $this->headers[] = $curlInfo : $this->SETOPT['POSTFIELDS'] = urldecode(preg_replace('/--[^"]+"/', '', $curlInfo)) ; } return $this->browse(str_replace('curl "', '', $cmdInfo[0][0]), ''); } private function setRange($x, $r, $r2) { $this->ADDOPT( array( 'HEADER' => 0, 'RANGE' => $r . '-' . $r2, 'NOPROGRESS' => 0, 'BUFFERSIZE' => $this->bufferSize, 'TIMEOUT' => 0, 'CONNECTTIMEOUT' => 0, 'WRITEFUNCTION' => array($this, 'flushBytes'), ) ); return $this->cURLOPT($x); } public function streamVideo($i = 0, $end = null, $s = 0, $bf = 10240) { $this->bufferSize = $bf; if (!$s) { $s = $this->getSize(); } if (!$end) { $end = $s; } header('Content-Length:' . $end + 1); $this->setRange($this->lastResource, $i, $end); $this->exec($curl); } } $xURL = new xURL('cookies.txt', $_SERVER['HTTP_USER_AGENT']); $host = str_ireplace('www.', '', parse_url($url)['host']); preg_match('/v\/([a-z0-9-]+)/', $url, $fembedId); $xURL->cmd('curl "https://' . $host . '/api/source/' . $fembedId[1] . '" -H "authority: ' . $host . '" -H "accept: */*" -H "origin: ' . $host . '" -H "x-requested-with: XMLHttpRequest" -H "user-agent: ' . $_SERVER['HTTP_USER_AGENT'] . '" -H "content-type: application/x-www-form-urlencoded; charset=UTF-8" -H "sec-fetch-site: same-origin" -H "sec-fetch-mode: cors" -H "referer: https://' . $host . '/v/' . $fembedId . '" -H "accept-language: es-ES,es;q=0.9" --data "r=^&d=' . $host . '" --compressed'); $videoData = json_decode($xURL->result); $xURL = new xURL('cookies.txt', $_SERVER['HTTP_USER_AGENT']); $videoLocation = $videoData->data[count($videoData->data) - 1]->file; $xURL->SETOPT['URL'] = $videoLocation; $size = $xURL->getSize(); if ($_SERVER['HTTP_RANGE']) { $rangeReceived = explode('-', explode('=', $_SERVER['HTTP_RANGE'])[1]); } $beginReceived = preg_replace("/[^0-9](.*)$/", '', $rangeReceived[0]); $endReceived = preg_replace("/[^0-9](.*)$/", '', $rangeReceived[1]); $begin = $beginReceived or $begin = 0; $end = $endReceived or $end = 1024 * 1024 * 2 + $begin; $begin > 0 || $end < $size ? header('HTTP/1.0 206 Partial Content') : header('HTTP/1.0 200 OK'); $length = $end - $begin + 1; header("Content-Length: $length"); header("Content-Type: video/mp4"); header('Accept-Ranges: bytes'); header("Content-Transfer-Encoding: BINARY"); header("Content-Disposition: inline"); header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header('Connection: close'); header("Content-Range: bytes $begin-$end/$size"); $videoLocation = $xURL->searchHeader('Location'); $xURL->streamVideo($begin, $end, $size, 10240);
