Почему файлы.WMV имеют тип mime "video/x-ms-asf" вместо "video/x-ms-wmv"?
Мне нужно принимать только MP4-видео и WMV-видео в веб-приложении Django, которое я создаю. Для этого я проверяю тип MIME файла, как только он попадает на сервер.
Насколько я понимаю, файлы MP4 имеют тип mime 'video/mp4', что именно то, что я получаю в своем веб-приложении. Проблема возникает с файлами WMV, которые в соответствии с каждым найденным мной сайтом (например, этим и тем) должны иметь тип видео /x-ms-wmv. Когда я получаю эти файлы на сервере и проверяю их, используя python-magic
Я получаю 'video/x-ms-asf' как mime-тип.
Я конвертировал некоторые видео на YouTube в видео WMV, используя разные онлайн-конвертеры, но результат всегда один и тот же.
Так что на самом деле, я не знаю, что я здесь делаю не так.
- Может быть, у меня проблема с концепциями, где WMV-видео также могут иметь mime-тип video / x-ms-asf, а не только video/x-ms-wmv
- Может быть
python-magic
неправильно читает тип пантомимы, что, я думаю, вряд ли имело бы место.
Любая помощь высоко ценится.
В качестве примечания, я использую python-magic
вместо Джанго file.content_type
потому что второе не надежно. Просто измените расширение файла на неправильное и file.content_type
даст тип расширения MIME вместо реального.
1 ответ
video/x-ms-asf
является правильным типом MIME, поскольку он является универсальным для файлов Windows Media, содержащих аудио и видео, под именем семейства "Advanced System Format".
Внутри "семьи" могут использоваться только аудио файлы (.wma) audio/x-ms-wma
и видео / аудио файлы (.wmv) могут использовать video/x-ms-wmv
, но для контента, оптимизированного для потоковой передачи, обычно ссылаются на семейство контейнеров, а не на расширение файла в типе MIME.
Если python-magic
обертывания известные libmagic
библиотека, причина в том, что libmagic
фактически не может определить содержимое файлов ASF: https://bugs.astron.com/view.php?id=84