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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用云服务器实现janus之web端与web通话!

發布時間:2025/4/5 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用云服务器实现janus之web端与web通话! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言:

大家周末好,今天給大家分享janus環境搭建以及如何實現web端與web端的實時通話!在寫正式文章之前,首先要說明一下,本次環境的搭建,我沒有在ubuntu本地去搭建,而是騰訊云服務器上搭建的(服務器位于香港那邊,我為什么不選擇位于國內的云服務器搭建,原因很簡單,因為有些源碼庫位于國外服務器上,國內下載訪問慢如蝸牛,很是讓人著急啊!或者要么就是連接拒絕了。。。,這給學習者巨大的打擊,我曾經在ffmpeg源碼搭建環境的時候,深深體會到了這種心態崩了狀態!)

這篇文章內容可能會比較多,雖然只是搭建環境,但是很考驗動手能力,我在搭建的時候,遇到了很多細節問題,比如stun服務器分配的ip地址無效,一度無法讓整個環境進行下去。。。。,后來我重新開了一個位于廣州的云服務器,然后再安裝了coturn服務器,然后再啟動它,把這臺服務器的ip分配給我在香港那臺服務器上,才把janus給運行起來了(位于香港那邊的服務器會導致stun的ip失效,這樣是死活不能讓janus跑起來的)。

好了,簡單就說這么多吧(上面說的問題,在下面都會呈現給大家,后期有人搭建,希望少走彎路!),下面我就開始把整個環境搭建流程搭建過程分享給大家,過程中花了我不少時間折騰:

二、janus環境搭建:

1、什么是janus?

在正式大家環境之前,我們先了解一下什么是janus,我不造輪子,直接看官網的介紹:

https://janus.conf.meetecho.com/index.html Janus官網介紹

嗯,這個就簡單說到這里。

2、騰訊云香港云服務器的配置選擇:

有些朋友可能平時沒怎么用過云服務器,大多可能都在本地使用一下linux相關發行版,所以下面我會有詳細步驟,當然騰訊云官網也有教程,我按照我的配置給大家演示一下(具體情況根據你實際情況而定);同時在這里也強調一下,這里不推薦大家開長期的云服務器租用,為什么說呢,一來,這玩意費用不低(特別是寬帶大小的不同,還是非常貴的),二來,你也可能也不經常用到,所以租用長期,浪費錢;我在搭建這個的時候,使用短期的按小時收費,如果不用的話,我把我這臺云服務器給注銷掉或者關機不收費,下次又可以接著用,比較靈活!

好了,下面是簡單的配置流程,騰訊云服務器地址:

https://buy.cloud.tencent.com/cvm?tab=lite abcd

這里稍微說明一下:這個帶寬大小,對于測試音視頻的話,盡量開大一點,但是注意,你的主機不要被攻擊,不然產生的流量費用會比較可怕!所以這里我推薦大家開20M左右就行,我測試的時候,搞了100M.....

d

最后直接點擊開通就行,然后你就可以拿到一個公網ip地址了,然后可以在xshell上訪問這臺位于香港的云服務器了:

f

說明:這里會要你登入密碼,密碼就是你剛才設置這臺主機的密碼。

e

3、正式環境搭建:

好了,上面的前期準備我已經完全準備好了,接下來就開始正式大家環境了:

  • a、安裝aptitude:

sudo?apt-get?install?aptitude
  • b、命令安裝依賴:

sudo?aptitude?install?libmicrohttpd-dev?libjansson-dev?libnice-dev?\libssl1.0.1-dev?libsrtp-dev?libsofia-sip-ua-dev?libglib2.3.4-dev?\libopus-dev?libogg-dev?libcurl4-openssl-dev?pkg-config?gengetopt?\libtool?automake

接著下面的命令一行行的執行就行:

sudo?apt?install?cmake sudo?aptitude?install?libconfig-dev sudo?aptitude?install?libssl-dev sudo?aptitude?install?doxygen?graphviz#?ffmpeg庫?支持--enable-post-processing sudo?aptitude?install?libavcodec-dev?libavformat-dev?libswscale-dev?libavutil-dev

下面是源碼安裝依賴,我們先在當前目錄下創建webrtc和janus目錄,后面所有的源碼下載和安裝都在這個janus目錄下進行:

這里不用給權限,給了也沒關系!

  • 安裝 WebSocket:janus 支持 WebSocket 是可選項,如果不安裝,編譯 janus 時,默認不支持 WebSocket 的鏈接請求,而 Android APP Demo 是通過 WebSocket 與 janus 進行通信的,因為我們希望 Android APP Demo 能與瀏覽器(HTTP)進行視頻通話,所以就必須要在編譯 janus 時支持 WebSocket。依次執行以下命令,分別進行下載,編譯,安裝:

git?clone?https://github.com/warmcat/libwebsockets.git cd?libwebsockets git?branch?-a?查看選擇最新的穩定版本,目前的是remotes/origin/v3.2-stable git?checkout?v3.2-stable?切換到最新穩定版本 mkdir?build cd?build cmake?-DCMAKE_INSTALL_PREFIX:PATH=/usr?-DCMAKE_C_FLAGS="-fpic"?.. make?&&?sudo?make?install
  • 安裝 libsrtp:Janus 需要至少 version 1.5 以上的 libsrtp,如果系統中已經安裝了 libsrtp,則首先卸載后,手動安裝新版本,這里我們安裝 libsrtp 2.2,依次執行以下命令:

wget?https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz tar?xfv?v2.2.0.tar.gz cd?libsrtp-2.2.0 ./configure?--prefix=/usr?--enable-openssl make?shared_library?&&?sudo?make?install

注意在下載這個,要切換到janus目錄下進行哈,后面的源碼安裝同樣操作,后期我就提醒了。

  • 安裝libusrsctp:

libusrsctp支持--enable-data-channels:

git?clone?https://github.com/Kurento/libusrsctp.git cd?libusrsctp ./bootstrap ./configure make sudo?make?install
  • 安裝libmicrohttpd:

libmicrohttpd支持--enable-rest:

wget?https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.71.tar.gz tar?zxf?libmicrohttpd-0.9.71.tar.gz cd?libmicrohttpd-0.9.71/ ./configure make sudo?make?install

下面開始進行編譯janus:

通過 Git 下載 Janus 源碼,并編譯安裝:

git?clone?https://github.com/meetecho/janus-gateway.git git?tag?查看當前的?tag,選擇最新穩定的版本v0.10.4 git??checkout?v0.10.4 sh?autogen.sh ./configure?--prefix=/opt/janus?--enable-websockets?--enable-post-processing?--enable-docs?--enable-rest?--enable-data-channels make sudo?make?install

安裝完畢后,我們來配置相關janus運行所需條件:

  • 1、生成證書:

mkdir?-p?~/cert cd?~/cert #?CA私鑰 openssl?genrsa?-out?key.pem?2048 #?自簽名證書 openssl?req?-new?-x509?-key?key.pem?-out?cert.pem?-days?1095
  • 2、安裝nginx:

#下載nginx?1.15.8版本 wget?http://nginx.org/download/nginx-1.15.8.tar.gz tar?xvzf?nginx-1.15.8.tar.gz cd?nginx-1.15.8/#?配置,一定要支持https ./configure?--with-http_ssl_module?#?編譯 make#安裝 sudo?make?install?
  • 3、修改nginx配置文件:

ubuntu@VM-0-3-ubuntu:~$?cd?/usr/local/nginx/conf/ ubuntu@VM-0-3-ubuntu:/usr/local/nginx/conf$?ls fastcgi.conf??????????fastcgi_params??????????koi-utf??mime.types??????????nginx.conf??????????scgi_params??????????uwsgi_params??????????win-utf fastcgi.conf.default??fastcgi_params.default??koi-win??mime.types.default??nginx.conf.default??scgi_params.default??uwsgi_params.default

然后進行配置:

注:剛才生成的證書路徑:

同時我們還要配置一下janus的路徑(指向janus所在目錄/opt/janus/share/janus/demos):

最終配置好結果如下:

  • 4、啟動nginx:

這里稍微提一下對nginx不熟的朋友,可以看我之前學習總結的一篇關于nginx配置的文章:nginx之靜態資源訪問和負載均衡的使用!。

這時候去訪問的話,訪問不了,因為我們的服務器沒有去開通一下權限,比如說80端口和443端口:

所以我們要配置一下:

1234

最后就可以訪問到janus官網了(原理是通過nginx代理的功能):

123
  • 5、安裝和啟動coturn

為啥要安裝這個呢,這就涉及到webrtc通話原理了,我在之前的文章里面有介紹過:webrtc之STUN、TURN、打開攝像頭實戰:

sudo?apt-get?install?libssl-dev sudo?apt-get?install?libevent-dev#git?clone?https://github.com/coturn/coturn? #cd?coturn #?提供另一種安裝方式turnserver是coturn的升級版本 wget?http://coturn.net/turnserver/v4.5.0.7/turnserver-4.5.0.7.tar.gz tar?xfz?turnserver-4.5.0.7.tar.gz cd?turnserver-4.5.0.7./configure? make? sudo?make?install

然后啟動coturn:

sudo?nohup?turnserver?-L?0.0.0.0?--min-port?30000?--max-port?60000??-a?-u?txp:1121518woWO?-v?-f?-r?nort.gov?& 1
  • 6、配置janus的jcfg文件:

    • 配置Video room:需要配置的文件為(目錄/opt/janus/etc/janus):并開通8088,8089,8188,8989

12#?進到對應的目錄 cd?/opt/janus/etc/janus #?拷貝文件 sudo?cp?janus.jcfg.sample?janus.jcfg sudo?cp?janus.transport.http.jcfg.sample?janus.transport.http.jcfg sudo?cp?janus.transport.websockets.jcfg.sample?janus.transport.websockets.jcfg sudo?cp?janus.plugin.videoroom.jcfg.sample?janus.plugin.videoroom.jcfg sudo?cp?janus.transport.pfunix.jcfg.sample?janus.transport.pfunix.jcfg sudo?cp?janus.plugin.streaming.jcfg.sample?janus.plugin.streaming.jcfg sudo?cp?janus.plugin.recordplay.jcfg.sample?janus.plugin.recordplay.jcfg sudo?cp?janus.plugin.voicemail.jcfg.sample?janus.plugin.voicemail.jcfg sudo?cp?janus.plugin.sip.jcfg.sample?janus.plugin.sip.jcfg sudo?cp?janus.plugin.nosip.jcfg.sample?janus.plugin.nosip.jcfg sudo?cp?janus.plugin.textroom.jcfg.sample??janus.plugin.textroom.jcfg sudo?cp?janus.plugin.echotest.jcfg.sample?janus.plugin.echotest.jcfg - 配置janus.jcfg: sudo?vim?janus.jcfg

先找到stun服務器所在地方:

1

然后再找到turn服務器所在的地方

1 - 配置janus.transport.http.jcfg sudo?vim?janus.transport.http.jcfg

- 配置janus.transport.websockets.jcfg sudo?vim?janus.transport.websockets.jcfg

- 修改網頁默認支持的wss協議

修改 /opt/janus/share/janus/demos/videoroomtest.js文件

sudo?vim??/opt/janus/share/janus/demos/videoroomtest.js 1

三、運行janus遇到的坑:

上面為止,所以所需配置都已經搭建完畢,現在我們可以來運行janus了,但是我在運行的時候,遇到我開頭說的,stup的ip地址無效:

因為是香港的那邊的服務器不支持分配。。。。,所以為了解決這個問題,我后來又開了一臺國內位于廣州的云服務器,并且要在這臺國內服務器上安裝和啟動couturn,然后再把這臺服務器的ip地址分配到報錯的地方就行:

最后終于把janus給運行起來了,這過程蠻折騰的:

123

如果有用加進來,你可以在服務器后臺看到打印信息:

最終就可以實現web與web端的通話了:

四、總結:

今天的文章就總結到這里了,這篇文章花費的時間比較多,最近通過折騰突然領悟了之前卡住的問題,內心還是非常激動的,非常有成就感!

好了,我是txp,我們下期見!

總結

以上是生活随笔為你收集整理的用云服务器实现janus之web端与web通话!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲无线观看 | 亚洲巨乳在线 | 欧美youjizz| 色播欧美| 久久久久久久久一区 | 日韩欧美综合久久 | 久久久久国产精品国产 | 黄色精品在线 | 日本伦理中文字幕 | 无码人妻精品一区二区三区9厂 | www,av在线| 久久精品9 | 国产精品久久久久久69 | av在线最新 | 久久精品69 | 色av综合网 | 黄网免费视频 | 18禁裸男晨勃露j毛免费观看 | 影音先锋男人站 | 亚洲色精品三区二区一区 | 国产经典三级 | 我色综合 | 国产情侣久久 | 窝窝午夜精品一区二区 | 五月丁香 | 欧美老少做受xxxx高潮 | 久久久久9999 | 麻豆国产在线视频 | 动漫女生光屁股 | 午夜免费福利在线 | 久久久久九九九 | 亚洲第1页 | 欧美日韩精品久久久免费观看 | 综合网在线观看 | 天天射美女 | 欧美黄色a | 蜜芽一区二区 | 亚洲经典视频在线观看 | 主播一区二区 | 青青一区二区 | 黑人巨大精品欧美黑白配亚洲 | 内射毛片内射国产夫妻 | 人妻互换一区二区激情偷拍 | 亚洲午夜精品久久久 | 91理论片午午伦夜理片久久 | 亚洲欧美日韩网站 | 在线观看成年人网站 | 精品爆乳一区二区三区 | 久久9999久久免费精品国产 | 青青青国产精品一区二区 | xxx在线视频 | 好男人www社区 | 五月激情丁香婷婷 | 91女人18毛片水多国产 | 精品人妻一区二区三区换脸明星 | 美女被猛网站 | 里番acg★同人里番本子大全 | 男人都懂的网址 | 成人午夜在线视频 | juliaann欧美二区三区 | 欧美性猛交aaaa片黑人 | 男女作爱免费网站 | 免费观看在线视频 | www裸玉足久久久 | 欧美四区 | 日本三级全黄 | 欧美色欧美色 | 国产精品美女久久久免费 | 国产片在线播放 | 精品无码黑人又粗又大又长 | 躁躁躁日日躁 | 丰满雪白极品少妇流白浆 | 日韩天堂在线观看 | 毛片无遮挡高清免费观看 | 麻豆免费在线 | 精品人妻一区二区乱码 | 另类视频在线观看 | 中文字幕在线观看网址 | 你懂的国产视频 | 日本一区免费视频 | 性色一区二区三区 | 亚洲精品一二三四 | 国产在线观看第一页 | 国产精品一区二区三区久久久 | 专干老肥女人88av | 成人午夜激情 | 韩日少妇| 少妇无码一区二区三区免费 | 少妇性l交大片7724com | 美女性高潮视频 | 日韩aa | 夜夜嗨av一区二区三区免费区 | 激情拍拍拍| 久久久久成人精品免费播放动漫 | 欧美色综合天天久久综合精品 | 色漫 | 美味的客房沙龙服务 | 精品国产乱码久久久久 | 国产影视一区二区三区 |