0

我想只是爲了學習如何投放視頻與Blob存儲區沒有它需要所有的屏幕影像,例如如何使用谷歌應用程序Angine投放視頻(BLOB)

這裏我導入的視頻作爲video_model

class ViewVideo(webapp.Reque...,blobstore_handlers.BlobstoreDownloadHandler): 

    def get(self): 
    video_id = self.request.get('video_id') 
    video_instance = None   
    if video_id: 
     video_instance = video_model().get_video_content(video_id) 
     self.response.headers['Content-Type'] = 'video/mp4' 
     self.send_blob(video_instance.content.key())    

class Video(db.Model): 

    content = blobstore.BlobReferenceProperty() 
    title = db.StringProperty() 

    def get_video(self,video_id): 
    return Video.get_by_id(video_id) 


    def get_video_content(self,content): 
    query_str = "SELECT * FROM Video WHERE content =:content" 
    return db.GqlQuery(query_str,content=content).get() 

凡VIDEO_ID來自獲得一個網址,但你看我把它直接在send_blob()函數,而這一次,當我測試它需要所有的屏幕正好看到視頻,我想知道我怎麼才能從我的應用程序視頻服務沒有發生這種情況,我想嵌入HTML,但我不知道如何來源將是

任何幫助會感激

如果它缺少的內容來回答這個問題,我會編輯

回答

0

沒有HTML5,這是一個棘手的爛攤子。 隨着 HTML5,它變得容易&優雅。服務到用戶的瀏覽器,如部分無論你服務頁面,下面的HTML(5)片段:

<video width="320" height="240" controls> 
    <source src="/getmp4?video_id=whatever" type="video/mp4"> 
Your browser does not support the video tag: please upgrade it! 
</video> 

,並使用該ViewVideo處理程序只侍奉/getmp4 URL,而不是URL直接用戶通過瀏覽器獲取。

320240,並選擇顯示controls,都是可選的,當然 - 因爲更是影片ID,使用whatever - !)

相關問題