iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Modern Web

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

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

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

[Day21] 實作 - WebRTC SDP Offer 和 Answer 交換

複習一下 👉 現在獲取了使用者的資訊要開始交換 SDP,需要完成下圖1~8個步驟,並且創建的offer、answer 需放在 Slignaling Server...

2023-10-03 ‧ 由 Yumy 分享
DAY 22

[Day22] 實作 - WebRTC ICE 候選者處理

在點對點連接前需要先收集 ICE 找到最適合的連線方式再交換 SPD 資訊,上篇先完成了 SDP 交換,接著這篇會完成 ICE 候選人的收集。 collectI...

2023-10-04 ‧ 由 Yumy 分享
DAY 23

[Day23] 實作 - WebRTC 遠端視訊顯示

前幾篇我們處理了 SDP 與 ICE 的交換,已經達成了連線,接下來只要把遠端視訊顯示出來就好🫶 ontrack 此方法接收一個 RTCTrackEvent...

2023-10-05 ‧ 由 Yumy 分享
DAY 24

[Day24] 實作 - WebRTC 音訊和視訊控制

完成了視訊&音訊的通訊,接下來會開始進行優化,因此這篇就先了解在視訊過程中控制媒體的功能:開啟關閉音訊、視訊、關閉對方音訊。 首先新增一個 state...

2023-10-06 ‧ 由 Yumy 分享
DAY 25

[Day25] 實作 - WebRTC 結束通話

實作篇即將結束! 在前一部分,我們已經看到如何建立視訊通話應用程式,但是現在讓我們來處理一個重要的問題:結束視訊通話。 當用戶完成通話或離開應用程式時,應確保的...

2023-10-07 ‧ 由 Yumy 分享
DAY 26

[Day26] 實作 - beforeunload 關閉視窗時提醒

若使用者在通話中、結束通話時按下關閉瀏覽器可以藉由beforeunload 提醒使用者還在通話中 beforeunload 事件 在 MDN 上 beforel...

2023-10-08 ‧ 由 Yumy 分享
DAY 27

[Day27] 實作 - styled-component & 部署

部署專案 複習 🚀[Day18] 實作 - Firebase 創建專案 & 部署 在這篇文章有說到如何部署專案,完成後可以再輸入 npm run bui...

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

[Day28] 延伸討論 - 一對多、多人視訊通話

透過 WebRTC 實現一對一的連線,那麼也能完成多人通話嗎?這篇就來討論 WebRTC 能否實現多人視訊通話、會遇到什麼問題、有沒有其他方法。 一對多直播 若...

2023-10-10 ‧ 由 Yumy 分享
DAY 29

[Day29] 延伸討論 - Peer.js 視訊通話套件

WebRTC(Web Real-Time Communication)可以實現瀏覽器之間的即時音視訊通信,但對於初學者來說,有一定的學習曲線。 特別是在處理 S...

2023-10-11 ‧ 由 Yumy 分享
DAY 30

[Day30] 完賽心得

成果頁面 這邊透過 codesandbox 分享程式碼給大家參考~ 也歡迎大家討論 https://codesandbox.io/s/webrtc-p2p-v9...

2023-10-12 ‧ 由 Yumy 分享