Stream de Fembed 🎦 PHP gratis (Proxy)

Cine24H

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
26 Jul 2018
Mensajes
410
Tengo fembed pero no lo uso está ahi guardado 🤔 se gana algo con ese reproductor 🙄
 

emanuelk12

Curioso
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
8 Oct 2019
Mensajes
13
Lo probé y anda de 10pts.
Como puedo colocarle el Jwplayer o VideoJs
 

Martin95

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario con pocos negocios!
Desde
20 Ene 2020
Mensajes
79
Es buenisimo! Gracias!
 

Anderr

Baneado
Beta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Usuario nuevo
¡Usuario con pocos negocios!
Desde
3 Ago 2020
Mensajes
59

Armandolqr

Curioso
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
11 Ago 2020
Mensajes
5
Soy nuevo en esto... me dices cual puedo usar..??
Claro
Tienes el link osea tu vídeo ya sacado de fembed usado por el script.
Luego vas a un encriptador de MP4 o un reproductor de MP4 jwplayer o vídeos js luego colocas el link y listo. El link que te da es el que te reproducira tu vídeo
Usa este.. tiene un jwplayer viejito pero lo puedes actualizar.
 

moviesfast

Curioso
Verificación en dos pasos desactivada
¡Usuario con pocos negocios!
Desde
19 Ago 2020
Mensajes
6
hola normnal me sale el reproductor pero como agrego el enlace fembed
 

moviesfast

Curioso
Verificación en dos pasos desactivada
¡Usuario con pocos negocios!
Desde
19 Ago 2020
Mensajes
6

Adjuntos

  • Opera Instantánea_2020-08-19_033106_www.mimoviesfast.info.png
    Opera Instantánea_2020-08-19_033106_www.mimoviesfast.info.png
    6,3 KB · Visitas: 16

Henry00jj95

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
29 May 2019
Mensajes
807
El 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);
 

moviesfast

Curioso
Verificación en dos pasos desactivada
¡Usuario con pocos negocios!
Desde
19 Ago 2020
Mensajes
6
El 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);
luego de poner eso que sigue le pongo la url y no funciona sale lo mismo
 

Crea una cuenta o accede para comentar

Debes ser un miembro para poder comentar

Crear cuenta

Crea una cuenta en nuestra comunidad

Acceder

¿Ya tienes una cuenta? Accede aquí


Arriba