为什么.WMV文件的MIME类型为“ video / x-ms-asf”而不是“ video / x-ms-wmv”?

时间:2018-12-07 15:06:05

标签: django video html5-video mime-types

我需要在正在构建的Django网络应用中仅接受MP4视频和WMV视频。为此,一旦文件到达服务器,我将检查文件的mime类型。

据我了解,MP4文件具有“ video / mp4” mime类型,这正是我在Web应用程序上收到的。问题来自WMV文件,根据我发现的每个网站(例如:thisthat),MIME类型应该为“ video / x-ms-wmv”。当我在服务器上获取此文件并使用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类型,而不是真实的扩展名。

2 个答案:

答案 0 :(得分:1)

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

在“家庭”中,仅音频文件(.wma)可以使用audio/x-ms-wma,而视频/音频文件(.wmv)可以使用video/x-ms-wmv,但是对于经过流媒体优化的内容,通常引用容器系列而不是MIME类型的文件扩展名。

答案 1 :(得分:0)

如果python-magic包装了著名的libmagic库,则原因是libmagic实际上无法确定ASF文件的内容:https://bugs.astron.com/view.php?id=84