инструмент для добавления на веб-сайт, который позволяет загружать видео (и желательно также записывать и обрезать)

Вопрос или проблема

Наш сайт уроков музыки хочет предложить новую функцию, где наши учителя могут опубликовать видео с собой в своем профиле.

Простой вариант: позволить им указывать URL-адреса видео, которые они загрузили на YouTube.

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

Некоторые требования:

  • видео должно быть неизменяемым
    • Наши профили проходят процесс одобрения. Учителя должны отправлять свои профили на проверку, прежде чем они будут опубликованы на нашем сайте. После одобрения администратором мы хотим, чтобы учитель не мог редактировать видео.
  • Мы не хотим показывать поврежденные/отсутствующие видео в профилях.
    • Если мы выберем решение вроде YouTube, нам также нужно получать автоматические уведомления, если видео становится недоступным (например, если учитель удаляет его или помечает как частное).

В идеале мы могли бы подписаться на какой-то сервис, который:

  • позволяет пользователям загружать видео
  • позволяет пользователям записывать видео-селфи с телефона и использовать их (вместо того, чтобы беспокоиться о загрузке файла)
    • в идеале во время записи должен отображаться обратный отсчет и индикатор прогресса, сообщающий пользователю, сколько секунд осталось до достижения максимальной продолжительности (которую мы можем определить как 120 секунд).
  • позволяет нам управлять нашими затратами на хранение
    • Имеет механизм для удаления видео. Если пользователь хочет удалить его (например, заменить) или если мы сочтем его устаревшим (слишком старым и неактуальным) или слишком редко запрашиваемым или неприемлемым для хранения, мы должны иметь возможность удалить его, а не продолжать оплачивать его хранение.

Другие возможные функции:

  • Если мы предоставим способ записи видео, пользователь должен иметь возможность просмотреть видео и перезаписать, если оно не слишком хорошее.
    • и, возможно, даже разрешить редактирование (обрезка, чтобы уложиться в максимальную продолжительность и т.д.)

Спасибо за ваши рекомендации!

Мы решили использовать https://cloudinary.com/documentation/upload_widget на данный момент.

Похоже, он не позволяет записывать, но для нас более важно обеспечить легкую загрузку.

Ответ или решение

Инструменты для загрузки и записи видео на вебсайте музыкальных уроков

В свете вашего стремления улучшить функциональность веб-сайта музыкальных уроков за счет добавления возможности публикации видео от преподавателей, важно рассмотреть несколько инструментов, которые смогут удовлетворить ваши требования. Как упоминалось, вы хотите избежать зависимости от сторонних сервисов, таких как YouTube, чтобы минимизировать риск пропавших или недоступных видео, а также обеспечить контроль над процессом загрузки и управления контентом.

1. Cloudinary

Вы уже приняли решение воспользоваться Cloudinary для загрузки видео. Этот инструмент обладает рядом преимуществ:

  • Загрузка видео: Cloudinary позволяет загружать видеофайлы, что экономит время преподавателей и позволяет избежать создания аккаунтов на сторонних сайтах.
  • Управление доступом: После загрузки видео вы можете настроить его так, чтобы преподаватели не могли редактировать содержимое, пока оно не получит одобрение администратором.
  • Автоматизированное уведомление: Вы можетепрограммировать уведомления о том, когда видео становится недоступным, однако такая функция может потребовать дополнительной настройки API Cloudinary.

Недостатки: К сожалению, Cloudinary не предоставляет встроенных инструментов для записи видео прямо в браузере, что делает необходимой дополнительную реализацию для этой функции либо с использованием других библиотек.

2. WebRTC и MediaRecorder API

Для решения задачи записи видео из браузера, вам стоит рассмотреть использование WebRTC совместно с MediaRecorder API. Эти технологии предоставляют разработчикам возможность:

  • Записывать видео: Прямо с камер устройств, будь то десктоп или мобильное устройство, без необходимости загружать видеофайлы.

    Примерный код для реализации записи видео:

    let mediaRecorder;
    let recordedChunks = [];
    
    async function startRecording() {
      const stream = await navigator.mediaDevices.getUserMedia({ video: true });
      mediaRecorder = new MediaRecorder(stream);
    
      mediaRecorder.ondataavailable = function(event) {
          if (event.data.size > 0) {
              recordedChunks.push(event.data);
          }
      };
    
      mediaRecorder.start();
    }
    
    function stopRecording() {
      mediaRecorder.stop();
      const blob = new Blob(recordedChunks, { type: 'video/webm' });
      // загрузка blob на сервер
    }
  • Контроль времени: Можно установить лимит на 120 секунд и показывать пользователю прогресс записи с использованием JavaScript.

Недостатки: Это решение требует наличия определенных знаний в программировании и интеграции технологий. Также вам нужно будет уделить внимание обработке совместимости между различными устройствами.

3. Vidyard или Vimeo

Если вы хотите третью часть, которая предоставляет функции записи видео и управления ими, такие как Vidyard или Vimeo, вы можете рассмотреть:

  • Запись видео: Помогут вам обеспечивать доступ к инструментам записей, уже интегрированным в платформу.
  • Аналитика и управление: Эти платформы позволяют отслеживать доступ к видео и управлять его статусом, что будет полезно для контроля качества контента.

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

Заключение

Выбор соответствующего инструмента для загрузки и записи видео на ваш сайт зависит от специфических нужд вашего проекта. Начальный выбор Cloudinary является разумным, особенно учитывая его возможности загрузки и управления контентом. Однако, для добавления функций записи видео, стоит рассмотреть внедрение WebRTC и MediaRecorder API или использование специализированных платформ, таких как Vidyard или Vimeo, которые предлагают варианты записи и управления контентом.

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

Оцените материал
Добавить комментарий

Капча загружается...