php - Symfony 在 Controller 中返回视频

标签 php symfony video-streaming

我想做一些关于用户和视频权限的过滤器,我做了一个路由:

app_filter_f:
    path: /products/{idProduct}/movies/{name}.mp4
    defaults: { _controller: AppBundle:App:filterRequest }

和一个与https://creativcoders.wordpress.com/2014/05/12/symfony2-how-to-send-video-response-to-twig-view/ 类似的 Action 的 Controller 带文件系统 https://github.com/KnpLabs/KnpGaufretteBundle

return new \Symfony\Component\HttpFoundation\Response($fs->read('14/movies/session1_ch1.mp4'),200,[
                'Content-Type' => 'video/mp4',
                'Connection' => 'close',
                'Content-Length' => $fs->size('14/movies/session1_ch1.mp4')
            ]);

问题是我的视频在页面中加载,但我无法进入下一分钟,只能返回,但不能前进。

在前端我使用了 html5:

<video id="course-video" width="100%" controls>
    <source src="{{ course.modules.first.movies.isEmpty() ? '' :course.modules.first.movies.first().downloadPath }}" type="video/mp4">
    Your browser does not support HTML5 video.
</video>

我试图找到任何解决方案,但我没有找到,是否可以用 symfony 模拟返回的视频,并努力改变前后分钟?

最佳答案

// use Symfony\Component\HttpFoundation\BinaryFileResponse

$response = new BinaryFileResponse($webPath);
$response->setAutoEtag(true);
$response->headers->set('Content-Type', 'video/mp4');
return $response;

关于php - Symfony 在 Controller 中返回视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34492749/

相关文章:

php - 使用 volley 和 php 将 android 连接到 mysql 时禁止错误 403

php - 从满足条件的任何一个连接表中获取数据

php - symfony html2pdf 不渲染 pdf 的问题

npm - 如何在 Symfony 的 View 中引用 node_modules 组件

android - 打开流媒体视频时出错

php - 时间超过30秒错误?文件获取内容

php - 如何使用 FOSRest 和 Symfony 3.0 正确执行 REST API POST 调用

symfony - 是什么导致 Symfony 2.1 和 Twig 出现 "Maximum function nesting level"错误?

java - 用Java实现视频流?

javascript - 使用 Angular 从安全端点流式传输视频