Как транслировать видео с помощью веб-сайта Django?

Я разрабатываю сайт с помощью django. Я хотел встроить видео, которое повторяется через цикл for.

{% for i in ImageData %}
<td>
<object width="425px" height="360px" >
<param name="allowFullScreen" value="true"/>
<param name="wmode" value="transparent"/>
<param name="movie" value="{{ MEDIA_URL }}{{ i.video }}"/>
<embed src="{{ MEDIA_URL }}{{ i.video }}" width="425" height="360" allowFullScreen="true" type="video/avi" wmode="transparent"/>
<\td>
{% endfor %}

Я получаю видео на странице, но не могу его транслировать. !! Может кто-нибудь мне помочь?

работает на локальном хосте: 8000, он показывает мне видеобокс, но не может запустить.

Обновление: это ошибка, которую я получил в терминале при запуске сервера django, веб-сайт все еще находится в Chorme (в Ubuntu)

Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 284, in run
    self.finish_response()
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 324, in finish_response
    self.write(data)
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 416, in write
    self._write(data[offset:offset+chunk_size])
  File "/usr/lib/python2.6/socket.py", line 318, in write
    self.flush()
  File "/usr/lib/python2.6/socket.py", line 297, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 48640)
Traceback (most recent call last):
  File "/usr/lib/python2.6/SocketServer.py", line 283, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 309, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 570, in __init__
    BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
  File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__
    self.finish()
  File "/usr/lib/python2.6/SocketServer.py", line 661, in finish
    self.wfile.flush()
  File "/usr/lib/python2.6/socket.py", line 297, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe

Далее. Еще я заметил, что эта ошибка возникает только в google-chrome, а не в firefox4. Любой шаг, который я должен выполнить чтоб исправить? заранее спасибо


person Community    schedule 05.05.2011    source источник
comment
В каком формате у вас видео? Где они размещены?   -  person Steve Jalim    schedule 05.05.2011
comment
@stevejalim: формат видео .avi и размещен на сервере ubuntu django.   -  person    schedule 05.05.2011
comment
Что значит не может бегать? нам нужно больше деталей, если вы хотите помочь   -  person Steve Jalim    schedule 05.05.2011
comment
Возможно, это потому, что вы не закрыли тег <object>?   -  person S.Ahmed    schedule 17.01.2019


Ответы (3)


Этот тип ошибки не от Django. Но в Google Chrome может возникнуть ошибка при подключении!

Вот много таких ошибок, где они говорят об ошибке браузера:

person Nagaraj Tantri    schedule 06.05.2011

На самом деле Джанго не имеет к этому никакого отношения.

Видео AVI не может просто запускаться как <embed>. Вам следует использовать либо HTML5-тег <video> (не будет работать во всех браузерах), либо преобразовать ваше видео в .flv и используйте флэш-плеер, например OSPlayer.

person Silver Light    schedule 05.05.2011

Возможно, вы столкнулись с проблемой отсутствия в Django поддержки HTTP Range запросов, которые обычно используются с потоковым видео. Поэтому вам, вероятно, лучше использовать Django в сочетании с веб-сервером (например, Nginx, Apache), чтобы Django обрабатывал динамический контент, а медиа-контент предоставляется непосредственно веб-сервером. Подробнее см. в этом вопросе: Диапазоны байтов в Django

person Pierz    schedule 11.12.2017