我的客户希望隐藏他的视频,无法下载或复制(或至少使其难以做到)。
我正在尝试使用flowplayer安全流媒体,但我无法使其正常工作!
我收到了这个错误:
200,找不到流,NetStream.Play.StreamNotFound,剪辑:'[Clip] “安全/ ad722768cfa6f10b51b7e317c8dd1ca4 / 1417957647 / v.mp4"
它说未找到视频,但是它应该放在 secure / v.mp4 上(对吧?)
UPDATE1
我忘了提到我在安全文件夹中有所需的apache重写规则...
固定/ htaccess的
RewriteEngine on
RewriteBase /secure
RewriteRule ^(.*)/(.*)/(.*)$ video.php?h=$1&t=$2&v=$3
RewriteRule ^$ - [F]
RewriteRule ^[^/]+\.(flv|mp4)$ - [F]
UPDATE2
我做到了!这是一件愚蠢的事情:
我正在使用easyphp webserver进行测试,网址是localhost / v / index.html
我做了一个测试,将所有内容从/ v文件夹移动到根目录,然后就可以了!
现在我在htaccess中学到了我需要从根开始将完整路径放在RewriteBase上,在我的情况下我需要设置它:
RewriteBase /v/secure
代码:
的index.html
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="flowplayer-3.2.13.min.js"></script>
<script>
$(document).ready(function() {
$f("player", "flowplayer-3.2.18.swf", {
plugins: {
secure: {
url: "flowplayer.securestreaming-3.2.9.swf",
timestampUrl: "sectimestamp.php"
}
},
clip: {
baseUrl: "secure",
url: "v.mp4",
urlResolvers: "secure",
scaling: "fit",
}
});
});
</script>
</head>
<body>
<div id="player"></div>
</body>
sectimestamp.php
<?php
echo time();
?>
固定/ video.php
<?php
$hash = $_GET['h'];
$streamname = $_GET['v'];
$timestamp = $_GET['t'];
$current = time();
$token = 'sn983pjcnhupclavsnda';
$checkhash = md5($token . '/' . $streamname . $timestamp);
if (($current - $timestamp) <= 2 && ($checkhash == $hash)) {
$fsize = filesize($streamname);
header('Content-Disposition: attachment; filename="' . $streamname . '"');
if (strrchr($streamname, '.') == '.mp4') {
header('Content-Type: video/mp4');
} else {
header('Content-Type: video/x-flv');
}
header('Content-Length: ' . $fsize);
session_cache_limiter('nocache');
header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
$file = fopen($streamname, 'rb');
print(fread($file, $fsize));
fclose($file);
exit;
} else {
header('Location: /secure');
}
?>
我已经尝试了这个&gt; Flowplayer Secure Streaming with Apache但我也得到了上述错误。
有没有人使用flowplayer安全流媒体?我做错了什么?
答案 0 :(得分:1)
我弄清楚出了什么问题,在htaccess中你需要从根开始把完整路径放在RewriteBase上,在我的情况下我需要设置它:
RewriteBase / v / secure