iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Modern Web

前端工程師30天 WebRTC + Firebase 視訊通話原理到實作 系列

大家好!我又來參加 iThome 舉辦的鐵人賽了!連續 30 天不中斷每天上傳一篇文章,初探 WebRTC 加上 Firebase 讓前端也能實作視訊功能!

鐵人鍊成 | 共 30 篇文章 | 20 人訂閱 訂閱系列文 RSS系列文 團隊來啊!打摳啊!第二年!
DAY 11

[Day11] RTCPeerConnection - RTCIceServer NAT 網絡地址轉換

這篇文章主要是要通過學習 NAT 了解在不同設備之間進行連接時可能遇到的挑戰。 NAT是什麼 NAT,全稱為 Network Address Translat...

2023-09-23 ‧ 由 Yumy 分享
DAY 12

[Day12] RTCPeerConnection - RTCIceServer STUN/TURN 穿越 NAT 防火牆

上篇說到 NAT 將內部 IP 與外部 IP 互相轉換以達到連線,但不同的 NAT 也會面臨一些連線問題,這種時候穿越防火牆/NAT技術 STUN 和 TURN...

2023-09-24 ‧ 由 Yumy 分享
DAY 13

[Day13] RTCPeerConnection - ICE RTCIceCandidate ICE 協議

前幾篇文章中,簡述了連接建立中的 NAT 穿越問題以及使用 STUN 和 TURN 來解決這些問題。而在這篇文我們來進一步介紹 WebRTC 在連線上最終的解決...

2023-09-25 ‧ 由 Yumy 分享
DAY 14

[Day14] RTCDataChannel 資料傳輸

終於說到第三個重要 WebRTC 重要 API RTCDataChannel,用於實現資料傳輸的 API。 什麼是 RTCDataChannel? RTCDat...

2023-09-26 ‧ 由 Yumy 分享
DAY 15

[Day15] RTCDataChannel - createDataChannel 發送和接收數據

上一篇概述了 RTCDataChannel ,這篇也接續說明這個 API 該怎麼使用。如果有寫過 WebSocket 的人可能會覺得非常熟悉,這之 API 除了...

2023-09-27 ‧ 由 Yumy 分享
DAY 16

[Day16] 介紹 Firebase

前幾篇文章都是在介紹通訊協定,WebRTC 如何通訊也有提到雖然通過瀏覽器的點對點連線不需要像 WebSocket 使用 server ,但在一開始交換資訊時仍...

2023-09-28 ‧ 由 Yumy 分享
DAY 17

[Day17] Firebase Cloud Firestore 資料庫

這次時做會使用到 Cloud Firestore 作為第一次交換資訊的 Signaing Server,因此在開始實作前先來了解這個強大的 NoSQL 資料庫用...

2023-09-29 ‧ 由 Yumy 分享
DAY 18

[Day18] 實作 - Firebase 創建專案 & 部署

終於來到實作篇啦 🎉🎉🎉 ~ 本次會先建立的 Firebase 專案當作第一次交換資訊的 server。 create-react-app 先建立一個專案! n...

2023-09-30 ‧ 由 Yumy 分享
DAY 19

[Day19] 實作 - getUserMedia 獲取使用者媒體並顯示

首先嘗試獲取 local 端的 media stream 並將 stream 加入到 video 元素中 新增 video 在 React 中 如果要動態的將...

2023-10-01 ‧ 由 Yumy 分享
DAY 20

[Day20] 實做 - Firebase Cloud Firestore 創建視訊間

完成網頁的部署後,也捕捉到 local 端的 stream 。這篇會引入 Firebase SDK 並嘗試使用 Cloud Firestore 的功能讓使用者點...

2023-10-02 ‧ 由 Yumy 分享