我在尝试通过 grails Controller 从 Amazon S3 流式传输 MP4 视频文件时遇到问题。我想在 S3 上托管一个视频文件并通过 grails Controller 流式传输(或发送它),该 Controller 将由 html 页面中的 video.js 播放器的前端访问。
我需要将 S3 上的视频保密,因此仅在 S3 上公开视频并使用直接 url 是不可能的。任何帮助表示赞赏。
Controller :
def video = {
def s3 = amazonWebService.s3
def file = s3.getObject(params.bucketName, params.key)
response.status = 206
response.contentType = "video/mp4"
response.outputStream << file.objectContent
response.outputStream.flush()
response.outputStream.close()
}
视频(GSP 前端):
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{"example_option":true}'>
<source src="${createLink(controller:'home', action:'video', params:[bucketName:bucketInstance, key:videoFileInstance])}" type='video/mp4' />
</video>
最佳答案
您无需下载视频。
最后,您将能够在所有主要浏览器中播放视频。
希望这可以帮助。
关于grails - 从 S3 将 MP4 视频文件从 Grails Controller 流式传输到 video.js 播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977968/