Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Поддерживаемые платформы и браузеры

 


Chrome

Firefox

Safari 11

Edge

Windows

+

+


+

Mac OS

+

+

+


Android

+

+



iOS

-

-

+


Поддерживаемые кодеки

  • Видео: H.264, VP8
  • Аудио: Opus, G.711

Функции

  • Видеочат
  • Текстовый чат
  • Видеоконференция
  • Видеоконференция с отображением экрана пользователя

...

  • демо-сервер demo.flashphoner.com;
  • веб-приложение Conferenceдля  для организации видеоконференции

...

Code Block
languagejs
themeRDark
    connection.join({name: getRoomName()}).on(ROOM_EVENT.STATE, function(room){
        ...
    }).on(ROOM_EVENT.JOINED, function(participant){
        ...
    }).on(ROOM_EVENT.LEFT, function(participant){
        //remove participant
        removeParticipant(participant);
        addMessage(participant.name(), "left");
    }).on(ROOM_EVENT.PUBLISHED, function(participant){
        ...
    }).on(ROOM_EVENT.FAILED, function(room, info){
        ...
    }).on(ROOM_EVENT.MESSAGE, function(message){
        ...
    });

Запись потоков, опубликованных участниками конференции

Видеопотоки, опубликованные каждым из участников конференции, могут быть записаны. Для этого необходимо установить параметр 'record' в 'true' при публикации потока:

Code Block
languagejs
themeRDark
    room.publish({
        display: display,
        constraints: constraints,
        record: true,
        receiveVideo: false,
        receiveAudio: false
        ...
    });

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

Например, если участник User1 начал публиковать поток в 00:00:10, а участник User2 в 00:00:55, то второй пользователь получит в начале записи 45 секунд пустого видео (черный экран и тишина). Таким образом, файлы записи потоков User1.mp4 и User2.mp4 будут одинаковы по времени, и их можно будет объединить. Кроме того, потоки участников можно направлять в микшер во время публикации.

Тестирование записи потоков

1. Для теста используем:

  • ваш WCS сервер, например test2.flashphoner.com;
  • веб-приложение Conference

2. Включите запись потоков в веб-приложении Conference

3. Откройте веб-приложение Conference. В поле "Login" введите имя пользователя Alice  и нажмите 'Join'. Опубликуется поток от пользователя Alice:

Image Added

4. Скопируйте ссылку из поля "Invite":

Image Added

5. В новом окне браузера перейдите по данной ссылке.  В поле "Login" введите имя пользователя Bob и нажмите 'Join'. Отобразится поток от пользователя Alice, и опубликуется поток от пользователя Bob:

Image Added

6. Нажмите 'Leave' на вкладке пользователя Bob, чтобы выйти из комнаты. Нажмите 'Leave' на вкладке пользователя Alice, чтобы завершить конференцию.

7. В каталоге /usr/local/FlashphonerWebCallServer/records располагаются файлы записи потоков:

Code Block
languagebash
themeRDark
-rw-r--r-- 1 root root 1569566 Jun 29 07:51 stream-34296a60-7b36-11e8-bd9c-31aaed48935e-db8mp51bajcidn9qmcnda3967k.mp4
-rw-r--r-- 1 root root 516509 Jun 29 07:51 stream-5aeb2351-7b36-11e8-b398-b74e804508b2-g97j81cgrf8h1m7jl7184fa788.mp4

Файл от пользователя Bob меньшего размера, поскольку в начале файла идет пустое видео для синхронизации. Загрузите файлы на ПК и воспроизведите.

8. Поток от Alice опубликован, Bob еще не вошел в комнату

Image Added

9. Опубликован поток от Bob

Image Added