Перейти к основному содержимому

RecordRTC

Что такое Запись RTC?​


RecordRTC — это стандартная функция Редактор TinyMCE, позволяющая пользователям записывать аудио, видео или экран в любом месте, где доступен редактор. Этот плагин добавляет кнопки для записи на панель инструментов редактора.

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

Плагин корректно работает с Chrome, Firefox и Opera на компьютерах под управлением Windows, Linux, macOS и Chrome OS.

Какие настройки есть у администратора?​

В разделе Администрирование → Плагины → Текстовые редакторы → Редактор TinyMCE → Запись RTC доступны следующие параметры:

  • Выбор типа записи — аудио, видео или экран.
  • Настройка битрейта для аудио-, видео- и записей экрана.
  • Ограничение времени записи для аудио, видео и экрана.
  • Установка размера записи экрана.
  • Возможность приостановки записи.

Битрейт по умолчанию:

  • Аудио (128000) — создаёт файлы размером около 15 КБ в минуту.
  • Видео (2500000) — создаёт файлы размером около 20 МБ в минуту. Чем ниже битрейт, тем меньше размер файла.

Лимит времени записи по умолчанию — 120 секунд, поэтому максимальный ожидаемый размер видеофайла составит около 40 МБ.

Возможности​

Существует три возможности для управления доступом к записи аудио, видео или экрана:

  • Записать аудио.
  • Записать видео.
  • Запись экрана.

По умолчанию все возможности разрешены для роли аутентифицированного пользователя.

Чтобы ограничить запись определёнными ролями, необходимо:

  1. Отключить соответствующую возможность для роли аутентифицированного пользователя.
  2. Разрешить её только тем ролям, которым это необходимо.

Как это работает?​


  • Текстовый редактор отображает значки аудио и/или видео в зависимости от настроек администратора.
иконки аудио и видео на панели инструментов
  • Нажмите на значок аудио- или видеозаписи. Вы увидите кнопку "Начать запись". Нажмите на неё и начинайте говорить.
attachasannotation.png
  • Когда закончите, нажмите, чтобы остановить запись. После этого система предложит вам назвать запись и прикрепить её.

Устранение неполадок​


Запись останавливается через несколько секунд​

recordingrtc_error_limit_reached.png

Настройка максимального размера загружаемого файла в YooLearn
Для определения максимального размера файла, который можно загрузить в YooLearn, используются два параметра. Они задаются в файле php.ini веб-сервера:
post_max_size = 8M
upload_max_filesize = 2M

Чтобы загружать видео длительностью 2 минуты, рекомендуется увеличить эти значения до 40M–50M.

Пример изменения в Ubuntu:
Откройте файл конфигурации PHP:
vi /etc/php/7.0/apache2/php.ini

При необходимости можно установить очень большие значения, как описано в Трекера YooLearn:
post_max_size = 1024M
upload_max_filesize = 1024M

Известные проблемы​


  • В медиафайлах не отображается длительность.
  • Элементы управления для навигации между файлами в плеере работают некорректно.

FAQ​


Почему эти плагины не работают со всеми браузерами?​

WebRTC (от англ. Web Real-Time Communication — "веб-коммуникация в реальном времени") — это набор протоколов связи и интерфейсов программирования, которые обеспечивают прямую передачу данных между пользователями (peer-to-peer). Встроенная в браузеры, эта технология позволяет реализовывать видеоконференции, обмен файлами, чаты и удалённый доступ к рабочему столу без необходимости установки дополнительных плагинов. https://en.wikipedia.org/wiki/WebRTC Wikipedia.

MediaStream Recording API (также известный как MediaRecorder API) тесно связан с Media Capture and Streams API и WebRTC API. Этот интерфейс упрощает запись аудио- и видеопотоков. В сочетании с navigator.mediaDevices.getUserMedia() он позволяет записывать данные с устройств пользователя (микрофона, камеры) и сразу использовать их в веб-приложениях. Запись может вестись как по отдельности, так и одновременно для аудио и видео. https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder MediaRecorder Documentation.

Ограничения поддержки браузеров
Поскольку эти плагины используют различные технологии WebRTC, они работают только в браузерах, реализующих WebRTC 1.0 и MediaRecorder API. На данный момент это:

(Подробнее см. раздел Поддерживаемые браузеры и платформы)

Именно эти браузеры поддерживаются в первой версии плагинов (1.0).

Особые случаи:

  • Microsoft Edge
    Реализует WebRTC 1.0, но не включает MediaRecorder API. Для работы плагинов в этом браузере требуются доработки библиотек и использование внешнего сервера.
  • Safari 11 для iOS
    Поддерживает WebRTC 1.0 https://webrtc.ventures/2017/06/webrtc-support-in-safari-11/ See, но, как и в случае с Edge, внедрение MediaRecorder API пока не анонсировано.

Планы по расширению поддержки
Поскольку текущая версия охватывает лишь около 60% браузеров, в версии 2.0 планируется добавить поддержку Edge и Safari за счёт использования потоковой передачи мультимедиа.

Можно ли делать записи длительностью более 2 минут?​

Да. Это можно изменить в настройках плагина. Однако учтите, что с увеличением длительности записи возрастёт и размер файла, поэтому потребуется также отредактировать соответствующие параметры в PHP.

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

Если вам действительно необходимо значительно увеличить лимит размера файла, единственное решение — использовать серверный компонент для прогрессивной загрузки и транскодирования. Однако в текущей версии плагина эта возможность не реализована.

Где хранятся записи?​

Хранение записей, созданных через RecordRTC, ничем не отличается от хранения любых других медиафайлов, загружаемых в YooLearn.

Место хранения зависит от файловой системы, настроенной на вашем сервере YooLearn. При использовании конфигурации по умолчанию все файлы сохраняются в:
/moodlepath/moodledata/filedir/xx/yy/ где xx и yy — путь, сгенерированный API при загрузке файла.

Если вы разработчик и хотите узнать больше технических деталей, ознакомьтесь со статьёй Хранилищем файлов на диске. Она немного устарела, но даёт хорошее представление о внутренней структуре хранения. Также см. Хранилище Amazon S3 — там описано, как хранить файлы во внешних хранилищах Amazon S3.

Как настроить плагин в Ubuntu?​

  • Перейдите в директорию: moodle_root_path/lib/editor/tinymce/plugins, где moodle_root_path — это путь к установленному YooLearn (например, /var/www/html/moodle).
  • Выполните команду: sudo git clone https://github.com/blindsidenetworks/moodle-tinymce_recordrtc.git recordrtc
  • Войдите в аккаунт YooLearn с правами администратора для завершения настройки.

Оригинал: https://docs.moodle.org/502/en/RecordRTC