【问题标题】:Laravel 4.1 Streaming VideoLaravel 4.1 流媒体视频
【发布时间】:2014-06-04 04:59:40
【问题描述】:

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

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

如果可能的话,我希望能够使用 videojs 或 jwplayer 或类似的东西。不是必需的,只是把它扔在那里。

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

更新

所以我认为我的问题措辞不够好。我还对我的代码进行了一些更改,因此对我正在尝试做的事情有了更好的理解。所以,考虑到这一点,我会开始的。

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

服务器端。问题仍然存在,我如何制作Response 以确保当我点击mydomain.com/mymovie.mp4 时,响应是正确制定的​​?

【问题讨论】:

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


    【解决方案1】:

    您可以返回流式响应:

    $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);
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我对客户端很满意。我想知道如何制作 Laravel Response 所以它给了我一个视频。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多