Laravel 4.1流媒体视频

时间:2014-06-04 04:59:41

标签: php html5 laravel-4 video-streaming html5-video

我正在使用Laravel 4.1来构建一个小型项目。基本的想法是创建一个网站,让我可以在自己的服务器上观看我的视频。我已经找到了认证部分。我使用Flysystem来访问文档根目录之外的服务器文件系统。

基本上,我的问题是'如何使用Laravel流式传输视频?'

如果可能的话,我希望能够使用videojs或jwplayer或类似的东西。不是要求,只是扔掉它。

如果我需要提供更多详细信息或任何类型的控制器信息让我知道,我会发布,但是,我不知道我现在应该发布什么。

更新

所以我不认为我的问题措辞得很好。我也对我的代码做了一些更改,因此更好地了解了我要做的事情。因此,考虑到这一点,我会接受它。

客户端我没有问题。我理解我将如何解决这个问题。

服务器端。问题仍然存在,我如何设计Response以确保在我点击mydomain.com/mymovie.mp4时,响应是否得到妥善制定?

2 个答案:

答案 0 :(得分:4)

您可以返回流式响应:

$file_location = __DIR__ . '/path/to/file.ext';

return Response::stream(function () use ($file_location) {
   $stream = fopen($file_location, 'r');
   fpassthru($stream);
}, 200, $headers);

标题需要包含mime类型和文件大小。有各种功能可以为您提供值。或者,您可以使用像Flysystem这样的软件包(无耻的促销)来获取这些值,从而使这项工作更容易一些。例如:

$stream = $filesystem->readStream($location);
$headers = [
    "Content-Type" => $fs->getMimetype($location),
    "Content-Length" => $fs->getSize($location),
    "Content-disposition" => "attachment; filename=\"" . basename($file) . "\"",
];

return Response::stream(function () use ($stream) {
    fpassthru($stream);
}, 200, $headers);

答案 1 :(得分:-4)

Laravel只是一个框架。它与网站的功能没有多大关系。它只是帮助您更好,更快地创建和管理网站。

如果您想在自己的网站上流式传输视频,则应该关注<video> html标记。