【问题标题】:serving video from appengine blobstore behaves differently to static file从 appengine blobstore 提供视频的行为与静态文件不同
【发布时间】:2012-10-29 16:58:03
【问题描述】:

我在从应用引擎 blobstore 向 html5 标记提供视频时遇到问题,视频似乎挂在最后一帧上,阻止了我需要使用的 ended 触发器被触发。我也无法在视频中搜索或通过右键单击强制视频播放。如果我将文件作为静态文件上传,则文件按预期工作,触发触发器并启用搜索。

这是从 blobstore 提供的文件:

http://jsfiddle.net/AvqUy/18/

同样的视频作为静态文件提供:

http://jsfiddle.net/AvqUy/19/

这是 blobstore 的限制还是我做错了什么?

这也是我处理视频文件的代码:

class VideoFileHandler(webapp2.RequestHandler):
    def get(self):
        video = db.get(self.request.get('video_id'))
        if video.video_file:
            self.response.headers['Content-Type'] = 'video/mpeg'
            self.response.out.write(video.video_file)
        else:
            self.response.out.write('No video file')

【问题讨论】:

  • 我不禁想,您为什么要从数据库、任何数据库中提供视频,而使用 AWS S3,但我不知道您的实际问题的答案,抱歉。
  • 你为什么不使用数据库中的视频,似乎问了几个问题,所以说 blob 存储是存储任何大文件、照片/视频等的好方法
  • 有 1MB 的限制。那不是“大”。看看这个问题:stackoverflow.com/questions/9362001/…

标签: python html google-app-engine video blobstore


【解决方案1】:

您应该使用 send_blob。

Here's an example 我这样做说明了使用 send_blob 和使用 html 音频和视频标签从谷歌云存储提供服务..

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多