任何视频播放器都无法使用临时视频源文件寻找视频

时间:2015-02-06 13:36:14

标签: javascript php video

我想避免下载我的视频。所以我使用这个脚本是为了避免用户下载视频而且有效!

但我无法随时播放此视频。这仅适用于Google Chrome。

这就是我使用以下脚本的原因:

的index.php:

ini_set('session.use_cookies',1);
session_start();
$vid=uniqid(); 
$_SESSION[$vid]='myVideo.mp4';
echo '<video autoplay="autoplay">'
    .'<source src="video.php?video='.$vid.' type="video/mp4">'
    .'</video>'; 

video.php:

ini_set('session.use_cookies',1);
session_start();
$file='myhiddenvideos/'.$_SESSION[$_GET['video']];
$_SESSION=array();
$params = session_get_cookie_params();
setcookie(session_name(),'', time()-42000,$params["path"],$params["domain"],
                                         $params["secure"], $params["httponly"]);
if(!file_exists($file) or $file==='' or !is_readable($file)){
  header('HTTP/1.1 404 File not found',true);
  exit;
  }
readfile($file);
exit;

现在这个代码存在问题,我无法随时在酒吧的任何位置寻找我的视频或播放它!

现场演示:http://thehacktools.com/

1 个答案:

答案 0 :(得分:1)

这是因为您的视频文件正在作为text/html文件提供,因此浏览器无法理解如何处理此文件。 (好吧,Firefox了解,Chrome没有。)

您必须通过Content-Type MIME type向浏览器指明视频的header

header('Content-Type: video/mp4');
readfile($file);
exit;