Создание веб-приложения в django, которое создает видео (с помощью moviepy) и воспроизводит его: с чего начать? - PullRequest
0 голосов
/ 27 мая 2020

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

  • щелкнуть кнопку на веб-странице, чтобы создать ** случайное видео (с помощью moviepy)
  • воспроизвести это видео обратно на веб-страницу
  • нажмите кнопку еще раз, чтобы создать новое ** случайное видео, которое заменяет существующее

** Случайное видео будет создано с помощью python / moviepy скрипт, который загружает кучу случайных видеоклипов из rnet в каталог на моем компьютере. Затем он компилирует их в одно видео (файл .mp4).

Я уже сделал бит сценария python, который успешно создает видеофайл.

Чтобы сделать веб-приложение битом, мне рекомендовали django, и вот где я застрял!

Пока что я установил django и разобрался с основами .. У меня есть домашняя страница с надписью «Hello world».

Мой вопрос: где мне go отсюда? Как связать мой скрипт python / moviepy с django? Какие шаги, приложения, компоненты и т. Д. c в рамках django мне следует предпринять, чтобы создать эту вещь?

Я новичок в программировании и ищу некоторые рекомендации.

Спасибо!

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Если вы создаете модель с FileField , тогда ваш сценарий Moviepy должен загружать видео в это поле, это поле может сохранять видео в указанном каталоге в MEDIA_ROOT (вы можете сохранить свою публикацию на основе даты ), то в этом поле будет храниться его URL (вам нужно указать MEDIA_URL в settings.py). Вы можете определить для них какие-то идентификаторы, если конфиденциальность видео не важна, вы можете использовать идентификаторы модели. Эти идентификаторы могут быть получены через преобразователи пути .

На стороне клиента javascript необходим. Возможен простой запуск скрипта в поле зрения, но тогда пользователю нужно будет дождаться ответа (и в браузере должен выйти тайм-аут). Вы должны посмотреть на события, отправленные сервером . С помощью Vue. js вы можете легко отобразить элемент загрузки в ожидании события (видео, которое будет сгенерировано), а затем загрузить и переключиться на видео (см. Django CRUD руководства по применению) . Скрипт python может выполняться асинхронно (вы вызываете его в представлении).

Я знаю, что это много. На самом деле я собираюсь изучить их сейчас, извините за ошибки.

0 голосов
/ 27 мая 2020

Как я вижу, Django предназначен для сложных сайтов, вам следует искать вместо него Flask. (Я изучаю Django, и я ничего не знаю о Flask, поэтому я go с ним)

Вот необходимая настройка:

  • определить шаблоны URL для обработки URL-адресов
  • создать модель для хранения вашего видео
  • создать шаблон django для вашей страницы (html)
  • определить представление для рендеринга шаблон (передача видео)
  • возможно, некоторые css для его разработки

Вы можете запускать свой видеогенератор (в представлении) при каждой перезагрузке и заменять существующее видео (в этом если вам даже не нужна модель), или вы можете сохранить сгенерированные видео и записать идентификаторы в URL-адресах (например: https://yoursite.com/1), в этом случае видео останутся общими.

Если вы go с первым вариантом, и обмен видео для вас не важен, тогда вы можете написать простую страницу html с видео и кнопкой. Кнопка может вызвать функцию javascript для запуска видеогенератора python скрипта и обновления sh страницы (видео перезаписывается), вам может потребоваться подождать до выполнения скрипта, иначе старое видео может загрузиться.

Restful API - это более продвинутый способ обновления sh видео без перезагрузки страницы.

После этого вы можете развернуть свою страницу, например, с помощью сервера Apache.

Я попытался дать вам несколько рекомендаций (я сам изучаю это)

Надеюсь, что это помогло :) Для этого есть руководства.

...