【问题标题】:Why .WMV files have mime type 'video/x-ms-asf' instead of 'video/x-ms-wmv'?为什么 .WMV 文件的 mime 类型为“video/x-ms-asf”而不是“video/x-ms-wmv”?
【发布时间】:2019-05-09 08:57:10
【问题描述】:

我只需要在我正在构建的 Django Web 应用程序中接受 MP4 视频和 WMV 视频。为此,我会在文件到达服务器后检查文件的 MIME 类型。

据我了解,MP4 文件具有“video/mp4”mime 类型,这正是我在我的网络应用程序上收到的内容。问题来自 WMV 文件,根据我发现的每个站点(例如:thisthat)应该将“video/x-ms-wmv”作为 mime 类型。当我在服务器上获取这些文件并使用 python-magic 检查它们时,我得到 'video/x-ms-asf' 作为它的 mime 类型。

我使用不同的在线转换器将一些 youtube 视频转换为 WMV 视频,但结果始终相同。

所以实际上,我不知道我在这里做错了什么。

  1. 也许我有一个问题,WMV 视频也可以有“video/x-ms-asf”mime 类型,而不仅仅是“video/x-ms-wmv”
  2. 也许python-magic 没有正确读取mime 类型,我认为这几乎不会发生。

非常感谢任何帮助。

作为旁注,我使用 python-magic 而不是 django 的 file.content_type,因为第二个不可靠。只需将文件的扩展名更改为错误的扩展名,file.content_type 就会给出扩展名 mime 类型而不是真实的。

【问题讨论】:

    标签: django html5-video mime-types content-type libmagic


    【解决方案1】:

    video/x-ms-asf 是正确的 MIME 类型,因为它是包含“高级系统格式”系列名称下的音频和视频的 Windows Media 文件的统称。

    在“系列”中,纯音频文件 (.wma) 可以使用 audio/x-ms-wma,视频/音频文件 (.wmv) 可以使用 video/x-ms-wmv,但对于针对流式传输优化的内容,通常会引用容器系列而不是 MIME 类型中的文件扩展名。

    【讨论】:

      【解决方案2】:

      如果python-magic 包装了众所周知的libmagic 库,原因在于libmagic 实际上无法确定ASF 文件的内容:https://bugs.astron.com/view.php?id=84

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-03
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-20
        相关资源
        最近更新 更多