2016-03-24 3 views
0

Я пишу приложение Python/Django, и я разрешил пользователям загружать видеофайлы, которые хранятся в каталоге /media/. Когда я пытаюсь воспроизвести эти файлы, html, похоже, пытается сначала загрузить весь файл, и даже когда он закончил, что он не воспроизводит видео.Почему так долго загружается видео? А потом не играл

HTML загрузить форму

<form method="post" action="/admin/upload_file/" enctype="multipart/form-data">{% csrf_token %} 
    <table align="center">{{ form }}</table> 
    <input name="cid" hidden value="{{course.id}}" type="text"> 
    <button class="btn btn-primary btn-sm">Upload Content</button> 
</form> 

вид Python

def upload_file(request): 
    if request.method == 'POST': 
     form = ModelFormWithFileField(request.POST, request.FILES) 
     if form.is_valid(): 
      # file is saved 
      form.save() 
      msg = "Successful upload" 
     else: 
      msg = "Invalid form" 
    else: 
     msg = "File not loaded" 
    return display_course(request, msg=msg, course = Course.objects.get(id=int(request.POST.get('cid')))) 

HTML Play

<video width="854" height="480" controls> 
    <source src="../media/{{module.module_key.url}}" type="video/mp4"> 
</video> 
+0

Вы уверены, что точка видео точно соответствует '../ media/{{module.module_key.url}}'? Вы пытались открыть его напрямую, используя адресную строку? – v1k45

+0

Адрес, указанный на странице html, соответствует точному местоположению файла xxx.xxx.xxx.xxx/media/profile/video.mp4. – HenryM

ответ

0

Прежде всего, встроенный сервер не поддерживает воспроизведение файлов MP4 Джанго (нужны некоторые трюки).

Во-вторых, некоторые файлы mp4 не являются потоковыми.

Вы можете попробовать:

  1. Использования Nginx или другие веб-сервера, чтобы служить файл
  2. убедитесь, что файл mp4 является поточным.
Смежные вопросы