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

标签 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>'; 

视频.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/

最佳答案

这是因为您的视频文件被作为 text/html 文件提供,因此浏览器无法理解如何处理该文件。 (嗯,Firefox 可以理解,而 Chrome 则不能。)

您必须向浏览器指示 MIME type通过 Content-Type header 获取视频.

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

关于javascript - 任何视频播放器都无法使用临时视频源文件寻找视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28367003/

相关文章:

javascript - IE11 是否移除了 javascript 条件编译?

javascript - 无法导入 Antd 单个组件而不搞乱全局样式

javascript - 尝试将菜单页面添加到 WordPress 管理站点

php - 检测当前页面的代码

ipad - 如何在我的 Sencha Touch 应用程序中嵌入视频?

javascript - 使用 Firebug 时如何防止页面更改

PHP:在 1 个 PHP 页面中包含所有重要代码,或者仅在需要它的页面上包含它

PHP:使用 "new"初始化数组与不使用 0x104567910 初始化数组有什么区别?

java - Android 相机捕获产生绿色和 block 状视频

linux - Ffmpeg concat images 并没有完成所有图像