【问题标题】:Plone: How use the html5 video tag with content types?Plone:如何在内容类型中使用 html5 视频标签?
【发布时间】:2010-09-06 23:50:13
【问题描述】:

我有一个 zpt(zope 页面模板),我想在其中使用视频标签,例如:

<video src="FILE_LOCATION" width="320" height="240" type='video/ogg; codecs="theora, vorbis"' controls></video>

其中 FILE_LOCATION 将是 plone 的内容类型。我可以使用 3 种方式来访问文件:

1) file.download_url #gives me: http://localhost:8000/a/acervo/testeflv2/at_download/file
2) file.absolute_url #gives me: http://localhost:8000/a/acervo/testeflv2
3) file.getFile() #gives me the file (like if I open the video file on a text editor)

obs:如果我在浏览器上单击从第一个或第二个选项返回的链接,它会从浏览器打开下载窗口以下载文件。

在 zpt 上,我可以这样做:

<video src="" id="video_play" width="320" height="240" type='video/ogg; codecs="theora, vorbis"' controls
       tal:attributes="src python:file.absolute_url()"></video>

其中 "python: file.absolut_url()" 可以更改为其他选项。

但其中任何一个选项都有效。该页面向我显示了一个应该播放视频的块,但没有播放视频。
我怎样才能做到这一点?

【问题讨论】:

    标签: plone zope html5-video zpt


    【解决方案1】:

    您可能需要下载链接 - 您需要纯数据,而不是 Plone 默认视图。

    <video src="" id="video_play"    width="320" height="240"    type='video/ogg; codecs="theora,    vorbis"' controls tal:attributes="src    file/download_url"></video>
    

    如果这不起作用:

    • 您的浏览器是否支持 .ogg? (尝试同时使用 firefox 和 chrome)
    • 真的是 ogg 吗?
    • 如果直接打开下载地址会怎样?浏览器会播放什么吗?
    • 渲染模板后 src 指向什么(查看源或检查元素)。网址看起来正确吗?

    【讨论】:

    • 我发现我的服务器需要在请求的 MimeType 上提供 Content-Type: video/ogg 的视频文件,无论它们是否具有 .ogv 扩展名。您知道如何在 zpt(zope 页面模板)上执行此操作吗?
    • 我不认为页面模板在这里是相关的,实际的文件对象是需要mime头的。也许您需要做的就是在 mimetypes_registry 中注册 mimetype。
    【解决方案2】:

    主要问题来自“Content-Disposition”标头。这是一个硬编码 ogg/theora 格式的示例。 在您的自定义皮肤中创建一个脚本“inline_download”,其中包含以下代码:

    RESPONSE =  container.REQUEST.RESPONSE
    
    filename = context.getFilename()
    obj = context.getFile()
    RESPONSE.setHeader('Content-Disposition', 'inline;filename="%s"' % filename)
    RESPONSE.setHeader('Content-Type', 'video/ogg')
    
    return obj
    

    现在http://yourpath/video/inline_download 应该可以正确显示视频而无需额外的 html。

    最后在你的视图中添加这段代码:

    <video height="240px" width="320px" type="video/ogg; codecs='theora, vorbis'"
           controls="controls" preloas="none"
           tal:attributes="src string:${here/absolute_url}/inline_download"/>
    

    【讨论】:

    • 非常感谢!我还不知道这是否对我有用,但我会尽力让你知道。谢谢关注。
    • 没用。显示了一个黑色方块,但即使我单击“播放”按钮,该方块仍保持黑色,并且按钮改变颜色,白色变为灰色。
    猜你喜欢
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 2013-01-26
    • 2015-12-30
    • 2012-05-12
    • 1970-01-01
    • 2012-08-07
    • 2012-10-11
    相关资源
    最近更新 更多