0
我很確定,我不完全理解這裏的播放機制,但我試圖通過從Pyramid框架的GridFS流數據來顯示視頻內容,使用Pyramid框架進行存儲Mongoengine。不幸的是,我的頁面找不到內容。從Gridfs使用Python金字塔和Mongoengine流視頻
的Jinja2:
<div align="center" class="embed-responsive embed-responsive-16by9">
<video class="embed-responsive-item" controls>
{% if board.video %}
<source src="{{ request.route_url('boards_video', name=board.name, videoname=board.video.filename) }}" type="video/*">
Your browser does not support the video tag. And that makes me sad.
{% else %}
<source src="#" type="video/*">
{% endif %}
</video>
</div>
查看代碼:
@view_config(route_name="boards_video")
def boards_video(request):
from .models import Board
name = request.matchdict["name"]
board = Board.objects("name"=name).first().get()
response = Response(content_type=board.video.content_type)
response.content_length = board.video.get().length
response.app_iter = FileIter(board.video)
return response
路線:
config.add_route("boards_video", "/boards/{name}/videos/{videoname}")
型號:
class Board(document.Document):
name = fields.StringField(required=True)
video = fields.FileField()
檢查jinja2生成的源時生成的URL,但生成的頁面視頻內容顯示「未找到支持格式和MIME類型的視頻」。完成此操作的正確方法是什麼?
那麼它肯定是與HTML標記,我認爲。提供給來自視頻標記的_src_屬性的網址是有效的,並以全屏播放視頻。我不確定除了使用URL之外的區別是什麼,肯定是一個請求,它會調用視圖。我原以爲在src屬性中使用URL本質上也是一個請求,但也許情況並非如此。 –