Quy trình một phiên chat sử dụng bộ SDK trong hệ thống

Một phần của tài liệu Xây dựng hệ thống chat video cho doanh nghiệp vừa và nhỏ (Trang 60 - 61)

Bộ SDK đƣợc sử dụng ở thành phần Client của hệ thống Video Chat. Để sử dụng bộ SDK này phải tiến hành đăng kí sử dụng dịch vụ BKRTC trƣớc đó để lấy mã sử dụng. Một phiên chat đƣợc bắt đầu khi ngƣời dùng gửi yêu cầu vào link của phòng họp. Quy trình phiên chat sử dụng bộ SDK trong hệ thống Video Chat nhƣ sau:

o Client gửi yêu cầu tới Backend vào phòng họp, Backend sẽ tiến hành kiểm tra thông tin phòng họp bằng cách giải mã thông tin lấy đƣợc từ yêu cầu gửi lên. Nếu tìm thấy phòng hợp lệ với thông tin có đƣợc Backend sẽ gửi thông điệp vào phòng họp thành công cho Client, nếu không tìm thấy phòng hợp lệ Backend sẽ gửi thông điệp không thành công cho Client.

Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 61 o Backend tiến hành lƣu lại phiên kết nối và phiên chat của Client vào Queue. Sau đó câp nhật trạng thái của Client sang trạng thái bận và cập nhật cơ sở dữ liệu phòng của hệ thống.

o Client nhận đƣợc thông điệp từ Backend. Nếu không vào phòng thành công, Client sẽ thoát không tiếp tục quá trình vào phòng họp và sử dụng API của bộ SDK. Nếu thành công, Client sẽ gọi hàm kết nối (connect) của bộ SDK, sau đó gọi hàm lấy dữ liệu media (create_stream) và gọi hàm gọi phòng (call_room). Lúc này phía dịch vụ BKRTC sẽ tiến hành cơ chế bắt tay tới các Client khác cùng trong phòng.

o Để lấy đƣợc dữ liệu media từ các Client khác, dùng API add_remote_stream để lấy dữ liệu. Bất kì một Client nào sau khi thực hiện xong cơ chế bắt tay ta sẽ thu đƣợc dữ liệu media từ API này.

1.4.2.4.Giải pháp giải quyết các vấn đề hệ thống Giải pháp lƣu trữ video của hệ thống Video Chat

Hiện tại API ghi lại cuộc họp của SDK cung cấp cơ chế lƣu lại video phía Client sau đó phía Client thực hiện tải lên Server của hệ thống mà ngƣời phát triển hệ thống xây dựng, đầu ra của API này là 2 file video định dạng (.webM) và audio định dạng (.webM). Một cuộc họp diễn ra lâu mà đƣợc ghi lại thì kích thƣớc của 2 file sẽ rất lớn, nếu nhƣ tải lên Server thì sẽ tốn một lƣợng bộ nhớ không hề nhỏ. Bên cạnh đó tài nguyên của hệ thống chỉ có hạn nên cơ chế lƣu lại cuộc họp là vấn đề không dễ dàng. Giải pháp đề ra là dùng cách thức nào đó để gộp 2 file này thành một file duy nhất. Với Server cài đặt hệ điều hành Linux thƣ viện Ffmpeg đƣợc lựa chọn để giải quyết vấn đề này.

Ffmpeg là thƣ viện mã nguồn mở, miễn phí và có rất nhiều tiện ích đáp ứng tốt với nhu cầu xử lý video. Tính năng nổi bật nhất của ffmpeg là khả năng nén, giải nén, tích hợp, chuyển định dạng các file với nhiều định dạng khác nhau. Ƣu điểm của ffmpeg là tốc độ xử lý nhanh, hỗ trợ đa môi trƣờng ngay cả với thiết bị nhúng. Đồng thời dễ dàng mở rộng và hỗ trợ đa dạng đáp ứng đƣợc nhu cầu của ngƣời phát triển hệ thống. Để cài đặt ffmpeg chỉ cần vào trang chủ https://ffmpeg.org và làm theo hƣớng dẫn.

Luồng thực hiện của hệ thống với chức năng lƣu trữ video nhƣ sau: ngƣời dùng thực hiện tải lên Server Backend 2 file video và audio ghi lại nội dung cuộc họp. Sau khi 2 file đƣợc tải lên Server thành công, Server sẽ tiến hành tích hợp 2 file này thành một file với định dạng webM sử dụng thƣ viện ffmpeg bằng cách sử dụng lời gọi hệ thống. Sau đó sẽ lƣu vào thƣ mục lƣu trữ của hệ thống và phân cấp theo ngƣời dùng, mã phòng họp.

Một phần của tài liệu Xây dựng hệ thống chat video cho doanh nghiệp vừa và nhỏ (Trang 60 - 61)

Tải bản đầy đủ (PDF)

(85 trang)