VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER
Đào tạo - Phần mềm - Cho thuê nhân sự
VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER
Đào tạo - Phần mềm - Cho thuê nhân sự

Ý tưởng phát triển WebRTC được nhóm kỹ sư chịu trách nhiệm cho Google Hangouts đưa ra từ tận năm 2009. Vào thời gian đó, để truyền tải video, hình ảnh trên web thì người ta thường phải xài đến Flash. Nhóm kỹ sơ Hangouts lại không muốn sử dụng công nghệ này, và họ bắt đầu tự làm một chuẩn riêng cho mình. Đến năm 2010, Google thâu tóm hai công ty On2 và Global IP Solutions (GIPS) để lấy công nghệ truyền dữ liệu thời gian thực làm nền tảng cho WebRTC về sau.
Vào tháng 5/2011, Google ra mắt một dự án nguồn mở dành cho việc giao tiếp thời gian thực giữa trình duyệt với nhau, và từ lúc này dự án mang tên WebRTC. Song song đó, Hiệp hội World Wide Web (W3C) và Hiệp hội Kĩ sư quốc tế (IETF) cũng đang phát triển một số giao thức để dùng cho việc việc kết nối thời gian thực, thế nên họ bắt tay nhau tiếp tục hoàn thiện để rồi quyết định kết hợp chung vào WebRTC.
Đến 27/10/2011, W3C ra mắt bản nháp đầu tiên của WebRTC. Tháng 11/2011, Chrome 23 ra mắt, trở thành trình duyệt đầu tiên có tích hợp WebRTC ngay từ bên trong. Và tính đến thời mà mình viết bài này thì WebRTC vẫn còn đang tiếp tục được phát triển chứ chưa hoàn thiện một cách chính thức.
WebRTC là viết tắt của cụm từ Web Real-Time Communication. Là một web API được phát triển bởi World Wide Web Consortium (W3C), khả năng hỗ trợ trình duyệt (browser) giao tiếp với nhau thông qua VideoCall, VoiceCall hay transfer data Peer-to-Peer (P2P) mà không cần browser phải cài thêm plugins hay phần mềm hỗ trợ nào từ bên ngoài.
Các phần chính của WebRTC bao gồm:
WebRTC API bao gồm chức năng:
WebRTC có thể được sử dụng cho truyền tải video, âm thanh cho đến gửi dữ liệu theo thời gian thực giữa hai hoặc nhiều thiết bị với nhau mà không nhất thiết phải đi qua server trung gian.
Kurento là một máy chủ truyền thông WebRTC và một bộ API khách hàng giúp đơn giản hóa việc phát triển các ứng dụng video nâng cao cho các nền tảng web và điện thoại thông minh. Các tính năng của nó bao gồm liên lạc nhóm, chuyển mã, ghi âm, trộn, phát sóng và định tuyến của dòng nghe nhìn. Kurento cung cấp một khung đa phương tiện giúp giảm bớt nhiệm vụ xây dựng các ứng dụng đa phương tiện với những tính năng, đặc điểm sau đây:
WebRTC là một tập hợp các giao thức, cơ chế và API cung cấp trình duyệt và ứng dụng di động với Real-Time Communications (RTC) thông qua kết nối peer-to-peer. Nó đã được hình thành như một công nghệ cho phép trình duyệt để giao tiếp trực tiếp mà không cần qua trung gian của bất kỳ loại cơ sở hạ tầng nào. Tuy nhiên, mô hình này chỉ đủ để tạo các ứng dụng web cơ bản; các tính năng như liên lạc nhóm, ghi dòng phương tiện, phương tiện truyền thông phát sóng, hoặc chuyển mã phương tiện rất khó thực hiện. Vì lý do này, nhiều ứng dụng yêu cầu một máy chủ phương tiện trung gian.

Về mặt khái niệm, WebRTC media servers chỉ là một phần mềm trung gian đa phương tiện, nơi lưu lượng phương tiện truyền thông đi qua khi di chuyển từ nguồn đến đích.
Media servers có khả năng xử lý các luồng phương tiện đến và cung cấp các kết quả khác nhau, chẳng hạn như:
Thành phần chính của Kurento là Kurento media server (KMS), chịu trách nhiệm truyền, xử lý phương tiện, ghi âm và phát lại. KMS được xây dựng trên thư viện đa phương tiện GStreamer tuyệt vời và cung cấp các tính năng, đặc điểm sau :

Đầu tiên các bạn phải cài đặt Kurento Media Server (KMS).
Chạy hai lệnh này trong cùng một thiết bị đầu cuối bạn đã sử dụng ở bước trước:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
sử dụng command sau để start, stop KMS.
ps -ef | grep kurento-media-server

Click button “Presenter” để bắt đầu livestream, click button “Viewer” để xem livestream.
Trên đây là một số kiến thức mình tìm hiểu được về WebRTC nói chung cũng như Kurento nói riêng, mong rằng có thể giúp ích được cho các bạn trong việc tìm hiểu về WebRTC.
Nguồn: Sưu tầm từ internet via viblo