日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、前言:

大家周末好,今天給大家分享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環境搭建

 

Janus官網介紹

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

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

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

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

https://buy.cloud.tencent.com/cvm?tab=lite
Janus環境搭建

 

a

Janus環境搭建

 

b

Janus環境搭建

 

c

Janus環境搭建

 

d

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

Janus環境搭建

 

d

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

Janus環境搭建

 

f

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

Janus環境搭建

 

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目錄下進行:

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環境搭建

 


Janus環境搭建

 

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

Janus環境搭建

 

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

Janus環境搭建

 

最終配置好結果如下:

Janus環境搭建

 

  • 4、啟動nginx:

這里稍微提一下對nginx不熟的朋友,可以看我之前學習總結的一篇關于nginx配置的文章。

Janus環境搭建

 

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

Janus環境搭建

 

所以我們要配置一下:

Janus環境搭建

 

1

Janus環境搭建

 

2

Janus環境搭建

 

3

Janus環境搭建

 

4

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

Janus環境搭建

 

1

Janus環境搭建

 

2

Janus環境搭建

 

3

  • 5、安裝和啟動coturn

為啥要安裝這個呢,這就涉及到webrtc通話原理了,我在之前的文章里面有介紹過:

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 &
Janus環境搭建

 

1

  • 6、配置janus的jcfg文件: 配置Video room: 需要配置的文件為(目錄/opt/janus/etc/janus): 并開通8088,8089,8188,8989
Janus環境搭建

 

1

Janus環境搭建

 

2

# 進到對應的目錄
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服務器所在地方:

Janus環境搭建

 

1

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

Janus環境搭建

 

1

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

Janus環境搭建

 


Janus環境搭建

 

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

Janus環境搭建

 


Janus環境搭建

 

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

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

sudo vim  /opt/janus/share/janus/demos/videoroomtest.js
Janus環境搭建

 

1

三、運行janus遇到的坑:

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

Janus環境搭建

 

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

Janus環境搭建

 

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

Janus環境搭建

 

1

Janus環境搭建

 

2

Janus環境搭建

 

3

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

Janus環境搭建

 

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

Janus環境搭建

 

四、總結:

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

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

分享到:
標簽:環境 Janus
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定