【发布时间】:2014-06-08 07:26:35
【问题描述】:
如何播放(流式传输而不是下载)存储在 GCS 中的视频文件?该文件是使用 GAE Python 中的 Blobstore API 存储的吗? 目前,当我在前端使用 send_blob 返回的 url 时,视频会被下载。
我使用以下方式提供视频:
video_url = "/v?video_id="+video_blobkey
::
class GCSFileServe(blobstore_handlers.BlobstoreDownloadHandler):
def get (self):
blob_key = self.request.get('video_id')
self.send_blob(blob_key)
::
app = webapp2.WSGIApplication([
('/', MainHandler),
('/v', GCSFileServe),
], debug=True)
我上传视频并存储 blobkey:
filename = bucket + "/user_video_"+str (user_index) + "_" + str (i)
gcs_file = gcs.open (filename, 'w', content_type = 'video/avi')
gcs_file.write (video)
gcs_file.close ()
blobstore_filename = '/gs' + filename
video_blobkey = blobstore.create_gs_key (blobstore_filename)
在前端,我将视频 URL 传递给 TINY Box 2 jquery modal plugin。如果我提供 youtube url 而不是上传到 GCS 的视频,这将非常有效。
我看到了Streaming Transfers topic in GCS docs,但可以理解如何在这种情况下使用它(如果这是解决方案)。
【问题讨论】:
标签: jquery python google-app-engine google-cloud-storage