Skip to content
This repository has been archived by the owner on Aug 25, 2021. It is now read-only.

0.1.0 Roadmap #8

Closed
5 tasks done
alexlapa opened this issue Jan 7, 2019 · 4 comments
Closed
5 tasks done

0.1.0 Roadmap #8

alexlapa opened this issue Jan 7, 2019 · 4 comments
Assignees
Labels
feature New feature or request k::design Related to overall design and/or architecture roadmap Roadmap for multiple steps
Milestone

Comments

@alexlapa
Copy link
Collaborator

alexlapa commented Jan 7, 2019

Начинаем с простого: 1<=>1 P2P. Пользователей Control API пока нет, поэтому не будет и самого Control API, но в его терминах сценарий можно выразить следующим образом:

kind: Room
spec:
  pipeline:
    caller:
      kind: Member
      spec:
        pipeline:
          publish:
            kind: WebRtcPublishEndpoint
            spec:
              p2p: Always
          play:
            kind: WebRtcPlayEndpoint
            spec:
              src: "local://video-call-2/responder/publish"
    responder:
      kind: Member
      spec:
        pipeline:
          publish:
            kind: WebRtcPublishEndpoint
            spec:
              p2p: Always
          play:
            kind: WebRtcPlayEndpoint
            spec:
              src: "local://video-call-2/caller/publish"

Подразумевается разработка трех модулей:

  1. Medea
  2. Medea Web Client
  3. Test User Application
.---------------------------Client--------------------.               .-------Server--------. 
:  .-----------------------.   .--------------------. :               :  .----------------. :
:  : Test User Application :---:     Web Client     o-+-Client-API-+--o  :     Medea      : :
:  '-----------------------'   '--------------------' :               :  '----------------: :
'-----------------------------------------------------'               '---------------------'

В рамках Medea требуется разработать:

  1. Cигналинг для P2P 1<=>1 поверх WebSocket. Предоставление Turn Credentials(просто урл, авторизация в данный момент не нужна).
  2. Минимальный room management.
  3. Взаимодействие с клиентом.

В рамках Medea Web Client требуется разработать:

  1. Подключение к WebSocket по предоставленным Credentials.
  2. Взаимодействие с Medea.
  3. Трансляция всех перечисленных запросв в / из RTCPeerConnection.
  4. Вывод отправляемых/получаемых треков в предоставленные video-элементы.

Для взаимодействия пока будет достаточно следующих событий PeerCreated, SdpAnswerMade, IceCandidateDiscovered, и комманд: MakeSdpOffer, MakeSdpAnswer, SetIceCandidate.

В рамках Test User Application требуется разработать:

  1. Подключение Medea Web Client с передачей WebSocket URL.
  2. Передачу Medea Web Client'у видео-элементов для локального и удаленного медиа-потоков.

Toolchain: минимальный набор комманд удовлетворения зависимостей и сборки, докеризация всех компонентов.

@alexlapa alexlapa added feature New feature or request roadmap Roadmap for multiple steps RFC Request for comments k::design Related to overall design and/or architecture labels Jan 7, 2019
@alexlapa alexlapa added this to the 0.1.0 milestone Jan 7, 2019
@alexlapa alexlapa self-assigned this Jan 7, 2019
@alexlapa
Copy link
Collaborator Author

alexlapa commented Jan 7, 2019

cc @tyranron

@tyranron
Copy link
Member

tyranron commented Jan 8, 2019

@alexlapa I have no comments/questions., but I think the roadmap must be much more detailed. Basically, now you should decouple implementation to concrete steps (each one is separate task/PR), so devs can just move along with.

@flexconstructor
Copy link

@alexlapa ,
@tyranron ,

Gentlemen, as part of the development of the Medea Web Client module, please draw your attention to the Video.js project. I think it makes sense to develop a browser application as a plug-in for video.js.

Motivation:

  • Today it is the most popular media player in the world (Video JS runs on over 400,000 websites);
  • Mature developer community;
  • A large number of possibilities for customizing the appearance and functionality of the player;
  • A large number of already developed skins and plug-ins.

@tyranron
Copy link
Member

tyranron commented Jan 9, 2019

@flexconstructor I think that worths discussion as a separate issue. Let's continue there.

This was referenced Jul 15, 2019
@tyranron tyranron removed the RFC Request for comments label Aug 22, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New feature or request k::design Related to overall design and/or architecture roadmap Roadmap for multiple steps
Projects
None yet
Development

No branches or pull requests

3 participants