PhDLeToanThang / ucs

UCs include: Big Blue Button - bbb [2x], Red5, Webinar in Education and Enterprise Healthcare Control IoT
MIT License
1 stars 0 forks source link

Phần 1: Thực hiện triển khai xây dựng UCs - Recording Video, Translate, Subtitle, Whiteboard replay timeline:

DEPLOY INSTALL a IT UCS SERVER + a Turn Recording Vioce Video Media Server

Yêu cầu:

Bước 1: Sửa và cài các tools cho Ubuntu có giao diện và xrdp remote 3389:

wget https://raw.githubusercontent.com/PhDLeToanThang/ucs/master/2.7.7/s1_fix_ubuntu.sh && sudo bash s1_fix_ubuntu.sh

Lưu ý: Đây là bản cài DNS Public và On-prem nên trước khi triển khai UCs này bạn phải quản lý được.

Ví dụ:

DNS public:
ucs1.yourdomain.vn --> ipv4 public: 123.234.10.9 (External) ---> IPv4 public: FIrewall Gateway L2/L3 : 123.234.10.1 ---> IPV4 local của LBN/Haproxy: 192.168.1.2 (internal API Gateway)

DNS Local: DNS Server Local ---> Ipv4 DNS Local: 192.168.1.20 (iPAM/AD-DC Platform) ---> IPv4 DNS A (host): ucs1.yourdomain.local: 192.168.1.13 (Your UCs Server)--->

Bước 2: Cài Các thư viện cho Big Blue Button (2.7.7):

wget https://raw.githubusercontent.com/PhDLeToanThang/ucs/master/2.7.7/s2_setup_bbb.sh && sudo bash s2_setup_bbb.sh

Phần 2. Kiến trúc hạ tầng - Kết nối - Chuyển đổi nội dung số:

Kết nối mạng nội bộ:

Sơ đồ sau đây cho thấy cách các thành phần khác nhau của BigBlueButton kết nối với nhau thông qua ổ cắm

image

Trong đó thì có Kiến trúc Cấp cao nhất:

Kiến trúc cấp cao:

Sơ đồ sau đây cung cấp cái nhìn cấp cao về cách các thành phần của BigBlueButton hoạt động cùng nhau.

image

Kiến trúc chi tiết chia nhỏ của Từng thành phần phía trong:

4.1. HTML5 client

Máy khách HTML5 là một trang duy nhất, ứng dụng web đáp ứng được xây dựng dựa trên các thành phần sau:

4.1.1. React.js để hiển thị giao diện người dùng một cách hiệu quả

4.1.2. WebRTC để gửi/nhận âm thanh và video

4.1.3. Máy khách HTML5 kết nối trực tiếp với máy chủ BigBlueButton qua cổng 443 (SSL), từ việc tải ứng dụng khách BigBlueButton đến tạo kết nối ổ cắm web. Các kết nối này đều được xử lý bởi nginx.

4.1.4. Máy chủ HTML5 nằm phía sau nginx.

4.1.4.1. Máy chủ HTML5 được xây dựng dựa trên

4.1.4.2. Meteor.js trong ECMA2015 để liên lạc giữa máy khách và máy chủ.

4.1.4.3. MongoDB để giữ trạng thái của từng máy khách BigBlueButton nhất quán với máy chủ BigBlueButton

Cơ sở dữ liệu MongoDB chứa thông tin về tất cả các cuộc họp trên máy chủ và lần lượt từng máy khách được kết nối với một cuộc họp. Mỗi khách hàng của người dùng chỉ biết trạng thái cuộc họp của họ, chẳng hạn như tin nhắn trò chuyện công khai và riêng tư được gửi và nhận của người dùng. Phía máy khách đăng ký các bộ sưu tập đã xuất bản ở phía máy chủ. Các bản cập nhật lên MongoDB ở phía máy chủ sẽ tự động được đẩy lên MiniMongo ở phía máy khách.

Sơ đồ sau đây cung cấp thông tin tổng quan về kiến trúc của máy khách HTML5 và hoạt động giao tiếp của nó với các thành phần khác trong BigBlueButton.

image

Khả năng mở rộng của thành phần máy chủ HTML5:

Giao diện người dùng FRONTEND(s):

Phần phụ trợ BACKEND(s):

web BBB
Redis PubSub
Redis DB
Ứng dụng akka

Dưới đây là sơ đồ về các thành phần khác nhau của Apps Akka:

image

Kiến trúc ứng dụng Akka

Logic nghiệp vụ của cuộc họp nằm trong MeetActor. Đây là nơi lưu trữ thông tin về cuộc họp và là nơi xử lý tất cả tin nhắn cho cuộc họp.

FSESL hay còn gọi là FSESL

Chúng tôi đã trích xuất thành phần tích hợp với FreeSWITCH vào ứng dụng riêng của nó. Điều này cho phép những người khác đang sử dụng hệ thống hội nghị thoại ngoài FreeSWITCH dễ dàng tạo sự tích hợp của riêng họ. Giao tiếp giữa các ứng dụng và Lớp cổng sự kiện FreeSWITCH (fsels) sử dụng tin nhắn thông qua redis pubsub.

image

Kiến trúc FsESL Akka

FreeSWITCH

Chúng tôi cho rằng FreeSWITCH là một phần mềm tuyệt vời để xử lý âm thanh.

FreeSWITCH cung cấp khả năng hội nghị thoại trong BigBlueButton. Người dùng có thể tham gia hội nghị thoại thông qua tai nghe. Người dùng tham gia thông qua Google Chrome hoặc Mozilla Firefox có thể tận dụng âm thanh chất lượng cao hơn bằng cách kết nối bằng WebRTC. FreeSWITCH cũng có thể được tích hợp với các nhà cung cấp VOIP để những người dùng không thể tham gia bằng tai nghe vẫn có thể gọi bằng điện thoại của họ.

Kurento và WebRTC-SFU

Kurento Media Server KMS là một media server triển khai cả mô hình SFU và MCU. KMS chịu trách nhiệm phát trực tuyến webcam, âm thanh chỉ nghe và chia sẻ màn hình. WebRTC-SFU đóng vai trò là bộ điều khiển phương tiện xử lý các cuộc đàm phán và quản lý các luồng phương tiện.

Tham gia hội nghị bằng giọng nói

Người dùng có thể tham gia hội nghị thoại (chạy trong FreeSWITCH) từ ứng dụng khách BigBlueButton HTML5 hoặc qua điện thoại. Khi tham gia thông qua ứng dụng khách, người dùng có thể chọn tham gia Micrô hoặc Chỉ nghe và ứng dụng khách BigBlueButton sẽ thực hiện kết nối âm thanh với máy chủ thông qua WebRTC. WebRTC cung cấp cho người dùng âm thanh chất lượng cao với độ trễ thấp hơn.

image

Tải lên bản trình bày

Các bản trình bày đã tải lên sẽ trải qua quá trình chuyển đổi để được hiển thị bên trong ứng dụng khách. Khi bản trình bày được tải lên là tài liệu Office, nó cần được chuyển đổi thành PDF bằng LibreOffice. Tài liệu PDF sau đó được chuyển đổi thành đồ họa vector có thể mở rộng (SVG) thông qua bbb-web.

image

Quá trình chuyển đổi sẽ gửi thông báo tiến trình tới máy khách thông qua Redis pubsub

Luồng chuyển đổi bản trình bày

Sơ đồ bên dưới mô tả luồng chuyển đổi bản trình bày. Chúng tôi xem xét cấu hình để bật và tắt chuyển đổi SWF, SVG và PNG.

![Luồng chuyển đổi chung](/img/diagrams/Presentation Conversion Diagram-General Conversion Flow.png)

Sau đó bên dưới luồng chuyển đổi SVG. Nó bao gồm dự phòng chuyển đổi. Đôi khi, chúng tôi phát hiện thấy trình duyệt tải nặng tệp SVG được tạo, chúng tôi sử dụng dự phòng để đặt hình ảnh đã được phân loại vào bên trong tệp SVG và làm cho trình duyệt tải nhẹ.

![Luồng chuyển đổi SVG](/img/diagrams/Presentation Conversion Diagram-SVG Conversion Flow.png)

Tham khảo tài liệu: https://docs.bigbluebutton.org/

Phần 3: Lợi ích ứng dụng UCs kiểu On-prem thành Private Cloud Services:

  1. BBB có thể tích hợp với Moodle để quản lý và tương tác nội dung dạy học:
  2. Trên LMS (Quản lý khoá học) vs
  3. LCMS (Quản lý nội dung số).
  4. Quản lý đầu sách, file điện tử của Giảng viên, tác giả soạn tài liệu cá nhân trên máy cá nhân.
  5. Quản lý đầu sách, file điện tử của nhóm Giảng viên, nhóm tác giả soạn tài liệu sau khi đã hiệu đính, chỉnh duyệt lưu trên máy chủ của Nhà Trường/ Tỏ chức phòng ban.
  6. Quản lý đầu sách, files điện tử đã được Ban lãnh đạo Nhà Trường học cấp Trưởng Khoa/Phó khoa duyệt lưu trên hệ thống do Thủ Thư Quản lý Thư viện phụ trách máy chủ WWeb Calibre.
  7. Các bộ phận như Kinh Doanh, Thủ Thư, Luật sư quản lý Xuất bản sách, Kế Toán quản lý Chi phí - Doanh thu - Tồn kho và báo cáo kết quả Kinh Doanh sách số của Nhà Trường / Doanh nghiệp phối hợp Quản lý sách số trên Cổng Thương mại điện tử Kinh Doanh sách số.
  8. Tích hợp với ITSAM giúp Chat, Bot, AI Chat, chuyển đổi Ticket để hỗ trợ Khách hàng thuê dịch vụ hoặc giúp đội Chăm sóc khách hàng dịch vụ thu nhận thông tin hỗ trợ.

image