【问题标题】:Why does html5 video tag does not work in Firefox even if I'm using the right format?为什么即使我使用正确的格式,html5 视频标签在 Firefox 中也不起作用?
【发布时间】:2019-03-03 12:41:54
【问题描述】:

我试图用标签将视频添加到我的网页,但标签无法正常工作。代码如下:

<video src="/static/videos/test1.webm" type="video/webm" controls></video>

在网络播放器中,我收到“没有找到支持格式和 MIME 类型的视频”错误。在互联网上有人说这是服务器问题,主要问题是在.htaccess服务器文件中。但我使用的是 Django 默认网络服务器,这里没有这样的文件。我怎么解决这个问题?

【问题讨论】:

  • 你能从这个网址获取文件吗?为什么不用{% static 'videos/test1.webm %}
  • 我使用了静态标签,但它没有帮助 - 我仍然得到同样的错误
  • 但是你能获取页面吗(通过将URL放在浏览器的URL栏中)?
  • 不,我收到 TemplateNotFoundError(如果我理解正确,我的 URL 是 127.0.0.1/static/videos/test1.webm)
  • 然后我认为您没有正确实现 staticfiles:看起来您为它定义了一个自定义视图,并且它不返回 webm 流,但旨在返回渲染HTML 文件。

标签: html django django-templates


【解决方案1】:

为了快速修复 - 只需关注粗体部分。有关详细信息,您可以阅读全文。

错误可能在您的静态文件路径中。如果您的 test1.webm 视频的目录结构如下,则上述 src 应该可以工作:

project/app_name/static/app_name/test1.webm  # when app_name= videos

但这应该是默认的。所以我认为你已经直接在你的项目(所有应用程序之外)中创建了一个新的静态文件夹,其目录结构如下:

project/static/videos/test1.webm

要完成这项工作,请将以下代码放入您的 project/project/settings.py

STATICFILES_DIRS = [  #for static assets that aren’t tied to a particular app
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

如果您尝试部署 django 网站,更进一步,您可能已将 settings.py 移动到另一个设置目录并将其重命名为 base.py 文件:project/project/settings/base.py

在这种情况下,将新 base.py 文件中的 BASE_DIR 更改为:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2022-10-12
    相关资源
    最近更新 更多