Почему файлы .WMV имеют тип mime «video / x-ms-asf» вместо «video / x-ms-wmv»? - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужно принимать только MP4-видео и WMV-видео в веб-приложении Django, которое я создаю.Для этого я проверяю тип MIME файла, как только он попадает на сервер.

Насколько я понимаю, файлы MP4 имеют тип MIME 'video / mp4', который в точности соответствует тому, что я получаю на своемвеб-приложение.Проблема возникает с файлами WMV, которые в соответствии с каждым найденным мной сайтом (например: this и , что ) должны иметь тип видео / x-ms-wmv в качестве mime-типа.Когда я получаю эти файлы на сервере и проверяю их, используя python-magic, я получаю 'video / x-ms-asf' в качестве типа mime.

Я преобразовал некоторые видео на YouTube в видео WMV, используя разные онлайнконвертеры, но результат всегда один и тот же.

Так что на самом деле, я не знаю, что я делаю здесь неправильно.

  1. Может быть, у меня проблема с концепциями, где видео WMV также может иметь тип mime типа 'video / x-ms-asf', а не только 'video / x-ms-wmv'
  2. Может быть, python-magic неправильно читает тип пантомимы, что, я думаю, вряд ли имело бы место.

Любая помощь очень ценится.

В качестве примечания,Я использую python-magic вместо Django file.content_type, потому что второе не надежно.Просто измените расширение файла на неправильное, и file.content_type даст тип расширения MIME вместо реального.

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Если python-magic упаковывает известную библиотеку libmagic, причина в том, что libmagic фактически не может определить содержимое файлов ASF: https://bugs.astron.com/view.php?id=84

0 голосов
/ 07 декабря 2018

video/x-ms-asf - это правильный тип MIME, поскольку он является универсальным для файлов Windows Media, содержащих аудио и видео, под именем семейства «Advanced System Format».

В пределах «семейства», только аудиофайлы (.wma) могут использовать audio/x-ms-wma, а файлы видео / аудио (.wmv) могут использовать video/x-ms-wmv, но для контента, оптимизированного для потоковой передачи, обычно ссылаются на семейство контейнеров, а не на расширение файла в типе MIME.

...