日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于WebRTC开源框架的实时视频聊天项目,搭建私人实时通信服务

發(fā)布時(shí)間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于WebRTC开源框架的实时视频聊天项目,搭建私人实时通信服务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本項(xiàng)目是一個(gè) Web 應(yīng)用,使用安全且可擴(kuò)展的 WebRTC 構(gòu)建,提供視頻和音頻通信、文件共享、屏幕共享、白板和實(shí)時(shí) P2P 和群聊消息的實(shí)時(shí)通信。WebRTC 是一個(gè)開源框架,可在 Web 和本機(jī)應(yīng)用程序中實(shí)現(xiàn)音頻、視頻和數(shù)據(jù)的實(shí)時(shí)通信。 它使用戶能夠通過視頻和音頻會(huì)議、網(wǎng)絡(luò)研討會(huì)、播客等與他人交流。


盡管任何 WebRTC 應(yīng)用程序都使用 4 種類型的服務(wù)器:

  • 應(yīng)用程序服務(wù)器- 托管 Connect Web 應(yīng)用程序!
  • 信令服務(wù)器- WebRTC 信令是指建立、控制和終止通信會(huì)話的過程。為了讓兩個(gè)端點(diǎn)開始相互交談,必須交換三種類型的信息: 會(huì)話控制信息確定何時(shí)初始化、關(guān)閉和修改通信會(huì)話。
  • NAT Traversal Server (STUN & TURN) - WebRTC 在連接同一本地網(wǎng)絡(luò)中的瀏覽器時(shí)表現(xiàn)出色。但是,一旦您開始到達(dá)您的網(wǎng)絡(luò)之外——例如,進(jìn)入企業(yè)防火墻——您將需要更多的火力。如果不使用 STUN(用于 NAT 的會(huì)話遍歷實(shí)用程序)或 TURN(使用圍繞 NAT 的中繼的遍歷)協(xié)議,防火墻配置不會(huì)讓 WebRTC 進(jìn)入。這就是您需要 STUN/TURN 服務(wù)器的原因。
  • 媒體服務(wù)器- 媒體服務(wù)器派上用場(chǎng),因?yàn)樗兄跍p少客戶端需要發(fā)送的流的數(shù)量,通常為一個(gè),甚至可以減少客戶端需要接收的流的數(shù)量,具體取決于媒體服務(wù)器的功能。
  • 但是目前 Connect 默認(rèn)提供免費(fèi)信令服務(wù)器,因此 Application Server 和 NAT Traversal Server 兩臺(tái)服務(wù)器即可。


    一、環(huán)境依賴

    由于應(yīng)用程序是使用 Laravel 7 構(gòu)建的,因此它需要具備 Laravel 7 的所有先決條件。 Laravel 的依賴項(xiàng)之一是Composer。以下是腳本的核心依賴項(xiàng):

    PHP >= 7.4
    MySQL >= 8.0
    Apache / Nginx
    Node.js、npm、Composer

    此外,還有一些文件和文件夾需要腳本的“寫”權(quán)限。

    .env 文件位于根文件夾中
    storage/framework 文件夾及其子文件夾
    storage/logs 文件夾及其子文件夾
    bootstrap/cache 文件夾及其子文件夾
    resources/lang文件夾及其子文件夾


    二、基本部署

    以寶塔環(huán)境為例,首先寶塔面板直接安裝: PM2管理器以及對(duì)應(yīng)版本的數(shù)據(jù)庫(kù)、php。安裝完成后重啟服務(wù)器以生效:

    # 1.安裝寶塔 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh# 2.配置寶塔 (a) 安裝Fileinfo擴(kuò)展 # 如果Fileinfo拓展安裝失敗,就是內(nèi)存太小,添加swap (b) 禁用函數(shù): proc_open、symlink、putenv、pcntl_signal、passthru (c) 創(chuàng)建站點(diǎn)

    其中值得注意的是,寶塔面板默認(rèn)安裝MySQL 8.0要求2核4G內(nèi)存,低配服務(wù)器可以通過如下方式安裝MySQL 8.0:

    wget http://download.bt.cn/install/0/mysql.sh; bash mysql.sh install 8.0

    這樣低內(nèi)存服務(wù)器在寶塔面板安裝Mysql8.0就實(shí)現(xiàn)了!

    請(qǐng)注意:如果你已經(jīng)安裝了數(shù)據(jù)庫(kù),上面的命令會(huì)卸載刪除當(dāng)前數(shù)據(jù)庫(kù)及數(shù)據(jù),請(qǐng)?zhí)崆皞浞?#xff0c;一定要提前備份!

    # 3.安裝Composer curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer# 4.編輯環(huán)境變量:修改.env文件數(shù)據(jù)庫(kù)連接內(nèi)容 # 5.創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建站點(diǎn)、申請(qǐng)ssl證書、進(jìn)入域名目錄拉取項(xiàng)目 git clone https://github.com/DXJian/P2PChat.git -b master # 6.創(chuàng)建上傳目錄軟鏈接 php artisan storage:link

    期間報(bào)錯(cuò)按照錯(cuò)誤提示安裝PHP拓展以及解除禁用函數(shù)即可,如:

    # 7.設(shè)置storage目錄權(quán)限為777 chmod -R 0777 storage# 8.修改網(wǎng)站運(yùn)行目錄public ,取消防跨站攻擊# 9.添加網(wǎng)站偽靜態(tài)如下: location / { try_files $uri $uri/ /index.php$is_args$query_string; }

    三、線上部署

    • 第一步檢測(cè)環(huán)境是否合格,如若不合格按照不合格的選項(xiàng)整改即可。
    • 第二步連接數(shù)據(jù)庫(kù)
    • 第三步創(chuàng)建管理員賬戶
    • 第四步要求填入訪問代碼,隨意輸入即可

    項(xiàng)目上線后,進(jìn)入設(shè)置(config)頁(yè)面,(任意)填入Pusher Credential選項(xiàng)中的信息。


    四、建立通信

    instant meeting——start a meeting——Live Class

    之后的報(bào)錯(cuò)不需要理會(huì),instant meeting——meeting history

    此時(shí)可以看到之前創(chuàng)建的代碼為444的聊天室





    五、新用戶加入

    新用戶通過注冊(cè)頁(yè)面注冊(cè)成功后,需要管理員激活新用戶。


    六、項(xiàng)目展示

    激動(dòng)人心的實(shí)時(shí)通信:




    其他可以輔助參考的信息:

  • codecanyon-27525559-connect-live-class-meeting-webinar-online-training-web-conference
  • https://kodemintserviceshelp.freshdesk.com/support/solutions/81000097241
  • https://www.youtube.com/watch?v=QY_VdHvBsSI

  • 至此,本文也就進(jìn)入尾聲了。希望本文能夠起到拋磚引玉之效,也歡迎大家的批評(píng)交流。


    如果您有任何疑問或者好的建議,期待你的留言、評(píng)論與關(guān)注!

    總結(jié)

    以上是生活随笔為你收集整理的基于WebRTC开源框架的实时视频聊天项目,搭建私人实时通信服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。