gigs2

Рейтинг
36
Регистрация
12.01.2013

а как сделать чтоб он шифровался но при этом и воспроизводилось видео, я делал так, генерировал временные ссылки вот так:

<?

$timeout = 100; // время

$filesdir = "films/new/"; // Слешь в конце

//

$secret = md5((int)(time() / $timeout)); //Всегда целое число, меняется раз в $timeout секунд;

if( isset($_GET['key']) ) {

if( ($_GET['key'] == $secret) && //проверка ключа

strlen($_GET['fn']) && file_exists($filesdir.$_GET['fn']) ) { //проверка файла

readfile($filesdir.$_GET['fn']);die; //читаем файл

} else {

header ( 'HTTP/1.1 404 Not Found' );//Файл не найден

die;

}

}

?>

и подставлял ссылку в плеер:

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" height="350" width="600"><param name="filename" value=""><param name="ShowStatusBar" value="True"><embed src="?fn=kino1.flv&key=<?PHP echo $secret;?>" showstatusbar="1" type="video/x-ms-asf" height="380" width="500"></object>

но видео почему то не проигрывает, может я что то не так делаю ?

---------- Добавлено 16.02.2013 в 20:46 ----------

с помощью uppod не подойдет потому что там шифрование доступно только в платной версии, есть еще какие то способы ?

---------- Добавлено 16.02.2013 в 21:10 ----------

ну так что посоветуете ?

а как мне зайти в настройки nginx, где находятся его файлы ?

у меня нашло такое:

HTTP/1.1 200 OK

Server: nginx

Date: Sun, 03 Feb 2013 16:45:19 GMT

Content-Type: text/html

Connection: keep-alive

X-Powered-By: PHP/5.3.10-1ubuntu3.4

Vary: Accept-Encoding

это значит что установлен ?

ну хорошо, если я его правильно отредактирую то тогда у меня должно показывать видео, а если кто то захочет скачать файл video.m3u по этой ссылке mysite.ru/video_direct/file/video.m3u то доступ к нему будет закрыт ? Правильно ?

то есть не заданы эти переменые ?

так там типа сам скрипт недоделан или в нем есть ошибки ?

Милованов Ю.С:
1)Занимаетесь копипастом
2)Не думаете
:)

помогите разобратся в том скрипте, а то я php только начинаю учить и пока кроме как создавать базы и доставать от туда данные ничего больше не знаю, пока что, прошу вашей помощи, без вас сам не разберусь.

неуказал размер файла или что то другое ?

сделал так:

$file = pathinfo($_SERVER['REQUEST_URI']);

$filename = $file['video.m3u']; //Смотрим, какой файл запросили

// лимит времени выполнения

set_time_limit(0);

$self = pathinfo($_SERVER['PHP_SELF']);

$self = $self['file']; //Смотрим из какой папки вызван скрипт.

if(!is_file($_SERVER['DOCUMENT_ROOT']."$self/".$filename)){

echo "Файл не найден";

return;

}

// А теперь главное. Запоминаем откуда, к нам пришел посетитель

$refer = $_SERVER['HTTP_REFERER'];

if(!strstr($refer,$_SERVER['SERVER_NAME'])){ // Если не с нашего района, то ...

echo "<html><head><META http-equiv=Content-Type content=\"text/html; charset=windows-1251\"></head><body>";

echo "<center><h1>ЙУХ тебе а не файл...</h1></center>";

echo "</body></html>";

return;

}

$f = fopen($filename, 'rb'); // Открываем файл и отдаем клиенту.

if (isset($_SERVER['HTTP_RANGE'])) { // поддерживается ли докачка

$range = $_SERVER['HTTP_RANGE'];

$range = str_replace('bytes=', '', $range);

$range = str_replace('-', '', $range);

if ($range) fseek($f, $range);

}

// если есть смещение

if ($range) {

header($_SERVER['SERVER_PROTOCOL'].' 206 Partial Content');

} else {

header($_SERVER['SERVER_PROTOCOL'].' 200 OK');

}

header( 'Last-Modified: '.date('D, d M Y H:i:s T', filemtime($filename)) );

header('Content-Length: '.($filesize-$range));

header('Accept-Ranges: bytes');

header('Content-Range: bytes '.$range.'-'.($filesize - 1).'/'.$filesize);

header('Content-Type: application');

header('Content-Disposition: attachment; filename="'.$filename.'"');

ini_set('output_buffering', 0);

ini_set('zlib.output_compression', 0);

while( !feof($f) ) {

ob_start();

echo fread($f, $speed);

ob_flush();

ob_end_flush();

sleep(1); // засыпаем

}

// закрываем файл

fclose($f);

доступа к файлу нет но видео так и не проигрывает. Что я не так делаю ?

СПАСИБО, а если в моем случае то этот скрипт мне писать в файле view_video.php ?

Всего: 86