Элемент видео HTML5 недоступен для поиска при использовании сервера разработки Django - PullRequest
9 голосов
/ 27 декабря 2010

У меня есть приложение Django, обслуживающее веб-страницу с элементом HTML5.Есть странная «особенность», превращающая элемент видео в недоступный для поиска: video.seekable возвращает объект timeRanges с length=0, тогда как он должен быть length=1.

Это означает, что я не могу редактировать видео.JavaScript тоже ничего не может сделать.

Дело в том, что когда я загружаю проблемную веб-страницу статически - без Django, просто обычный HTML / JS / CSS - на мой веб-сайт для тестирования, она отлично работает - length=1.

Однако, если я пытаюсь обслуживать ту же статическую страницу на моем сервере разработки Django, все равно возникает та же проблема.

Я использую статическую службу Django для целей разработки / отладки - У вас естьИдея, что вызывает это, или как я могу это исправить?

Спасибо.

Ответы [ 3 ]

12 голосов
/ 27 декабря 2010

Сервер разработчика Django, вероятно, не поддерживает байтовые диапазоны HTTP, которые браузеры обычно используют для поиска.

Любой производственный веб-сервер, например Apache, lighttpd или nginx, должен поддерживать эти параметры.Если вы можете запустить все приложение Django на одном из этих серверов, проблема должна исчезнуть.

Обходной путь может заключаться в простой передаче видео с такого сервера: настройте один из них для статической обработки каталога видеона вашем компьютере с портом, отличным от сервера разработки Django, а затем в вашей среде разработки либо измените URL-адрес <video src=, чтобы он указывал на новый веб-сервер, либо напишите специальный просмотр для видео, которое перенаправляет на новый веб-сервер.

0 голосов
/ 27 декабря 2010

Также обратите внимание, что текущий встроенный сервер dev является однопоточным, поэтому он может легко зависнуть.

Параллельный тестовый сервер: https://github.com/jaylett/django_concurrent_test_server лучше для потоковой передачи / загрузки ... (не используется в prod)

0 голосов
/ 27 декабря 2010

Я сам не сталкивался ни с чем подобным, но могу предположить, что сервер разработки Django не может передавать видео "просто так". Возможно, вам придется использовать промежуточное программное обеспечение ETAG, чтобы вылечить это.

Взгляните на этот вопрос: Как транслировать HttpResponse с Django

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...