ugrás a tartalomhoz

Archívum - Ápr 23, 2017

Video Stream tekerés inaktiválása

alkony4 · 2017. Ápr. 23. (V), 21.03
Szervusztok!

PHP-s megoldással szeretnék streamelni videót, amivel nincs is gond, nagyszerű kis kód van rá, viszont szeretném elérni, hogy ne lehessen tekergetni.
Ha egy html video tagbe teszem, ez ugyan nem gond, könnyen kiiktatható, de ha egy lejátszóval nyitom meg ott már más a helyzet ugyebár mivel nincs kontrolom a kliens program felett, így a kódon szeretnék csiszolni. Miként írnátok át ezt, hogy az igényeket kielégítse?

[colorer=php]
// Open
if (!($stream = fopen($path, 'rb')))
{
die('Could not open stream for reading');
}




// setHeader()
ob_get_clean();
header("Content-Type: video/mp4");
header("Cache-Control: max-age=2592000, public");
header("Expires: ".gmdate('D, d M Y H:i:s', time()+2592000) . ' GMT');
header("Last-Modified: ".gmdate('D, d M Y H:i:s', @filemtime($path)) . ' GMT' );
$start = 0;
$size = filesize($path);
$end = $size - 1;
header("Accept-Ranges: 0-".$end);


if (isset($_SERVER['HTTP_RANGE']))
{
$c_start = $start;
$c_end = $end;

list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);

if (strpos($range, ',') !== false)
{
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}

if ($range == '-')
{
$c_start = $size - substr($range, 1);
}
else
{
$range = explode('-', $range);
$c_start = $range[0];
$c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $c_end;
}
$c_end = ($c_end > $end) ?