WebRTC janus安装编译教程

janus编译

系统 ubuntu 22.04

1.更新系统

shell 复制代码
apt-get update -y

2.安装依赖

shell 复制代码
apt install libmicrohttpd-dev libjansson-dev \
	libssl-dev libsofia-sip-ua-dev libglib2.0-dev \
	libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \
	libconfig-dev pkg-config libtool automake cmake git wget -y	
apt-get install -y \
		libavutil-dev \
		libavformat-dev \
		libavcodec-dev \
		libmicrohttpd-dev \
		libjansson-dev \
		libssl-dev \
		libsofia-sip-ua-dev \
		libglib2.0-dev \
		libopus-dev \
		libogg-dev \
		libcurl4-openssl-dev \
		liblua5.3-dev \
		libconfig-dev \
		libusrsctp-dev \
		libwebsockets-dev \
		libnanomsg-dev \
		librabbitmq-dev \
		pkg-config \
		gengetopt \
		libtool \
		automake \
		build-essential \
		wget \
		git \
		gtk-doc-tools

3.安装Meson and Ninja

shell 复制代码
apt install meson ninja-build -y

4.设置python优先级

shell 复制代码
update-alternatives --install /usr/bin/python python /usr/bin/python3 1

5.安装libnice

shell 复制代码
git clone https://gitlab.freedesktop.org/libnice/libnice
cd libnice
meson --prefix=/usr build && ninja -C build && ninja -C build install

export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig


Installing stun/tools/stund to /usr/bin
Installing stun/tools/stunbdc to /usr/bin
Installing nice/libnice.so.10.13.1 to /usr/lib/x86_64-linux-gnu
Installing symlink pointing to libnice.so.10.13.1 to /usr/lib/x86_64-linux-gnu/libnice.so.10
Installing symlink pointing to libnice.so.10 to /usr/lib/x86_64-linux-gnu/libnice.so
Installing /libnice/agent/address.h to /usr/include/nice
Installing /libnice/agent/agent.h to /usr/include/nice
Installing /libnice/agent/candidate.h to /usr/include/nice
Installing /libnice/agent/debug.h to /usr/include/nice
Installing /libnice/agent/interfaces.h to /usr/include/nice
Installing /libnice/agent/pseudotcp.h to /usr/include/nice
Installing /libnice/stun/stunagent.h to /usr/include/stun
Installing /libnice/stun/stunmessage.h to /usr/include/stun
Installing /libnice/stun/win32_common.h to /usr/include/stun
Installing /libnice/stun/debug.h to /usr/include/stun
Installing /libnice/stun/constants.h to /usr/include/stun
Installing /libnice/stun/usages/bind.h to /usr/include/stun/usages
Installing /libnice/stun/usages/ice.h to /usr/include/stun/usages
Installing /libnice/stun/usages/turn.h to /usr/include/stun/usages
Installing /libnice/stun/usages/timer.h to /usr/include/stun/usages
Installing /libnice/nice/nice.h to /usr/include/nice
Installing /libnice/build/nice-version.h to /usr/include/nice
Installing /libnice/build/meson-private/nice.pc to /usr/lib/x86_64-linux-gnu/pkgconfig

6.安装libsrtp

复制代码
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 && make install

/usr/bin/install -c -d /usr/include/srtp2
/usr/bin/install -c -d /usr/lib
cp ./include/srtp.h /usr/include/srtp2
cp ./crypto/include/cipher.h /usr/include/srtp2
cp ./crypto/include/auth.h /usr/include/srtp2
cp ./crypto/include/crypto_types.h /usr/include/srtp2
if [ -f libsrtp2.a ]; then cp libsrtp2.a /usr/lib/; fi
if [ -f libsrtp2.dll.a ]; then cp libsrtp2.dll.a /usr/lib/; fi
if [ -f libsrtp2.so.1 ]; then \
        /usr/bin/install -c -d /usr/lib; \
        cp libsrtp2.so.1 /usr/lib/; \
        cp libsrtp2.so /usr/lib/; \
        if [ -n "1" ]; then \
                ln -sfn libsrtp2.so.1 /usr/lib/libsrtp2.so; \
        fi; \
fi
/usr/bin/install -c -d /usr/lib/pkgconfig
cp ./libsrtp2.pc /usr/lib/pkgconfig/

7.安装usrsctp

复制代码
git clone https://github.com/sctplab/usrsctp
cd usrsctp
./bootstrap
./configure --prefix=/usr --disable-programs --disable-inet --disable-inet6
make && make install

8.安装libwebsockets

复制代码
git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets
git checkout v4.3-stable
mkdir build
cd build
cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..
make && make install

9.安装mqtt

复制代码
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
make && make install

10.安装libnanomsg-dev

复制代码
apt-get install aptitude -y
aptitude install libnanomsg-dev -y

11.安装rabbitmq-c

复制代码
git clone https://github.com/alanxz/rabbitmq-c
cd rabbitmq-c
git submodule init
git submodule update
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make && make install

12.安装janus

复制代码
git clone https://github.com/meetecho/janus-gateway.git
cd janus-gateway
sh autogen.sh
./configure --enable-post-processing --prefix=/usr/local && \
	make && \
	make install && \
	make configs

13.安装完成后,直接执行janus运行程序

相关推荐
红尘散仙2 天前
浏览器不能监听端口、没有文件系统,凭什么能点对点传文件?
rust·webrtc·webassembly
福大大架构师每日一题3 天前
mediamtx v1.19.3正式发布:认证安全、WebRTC跨域、MoQ稳定性、RTSP与HLS全面升级
安全·ffmpeg·webrtc
hellojackjiang20113 天前
移动端实时音视频聊天框架 RainbowAV v2.2.7发布
webrtc·实时音视频·即时通讯
淡淡的香烟3 天前
Android中WebRTC通信使用
android·webrtc
SendTomo5 天前
send.wang私传网:P2P直连传大文件首选工具
javascript·网络·网络协议·webrtc·p2p
桑榆4166 天前
WebRTC 本地视频文件推流 Demo 搭建指南 (Ubuntu 24.04)
linux·ubuntu·webrtc
音视频牛哥10 天前
WebRTC 能解决低延迟直播吗?为什么 RTSP、RTMP、GB28181 仍然不可替代?
音视频·webrtc·低延迟rtsp播放器·音视频sdk·smartmediakit·低延迟rtmp播放器·低延迟音视频
云栖梦泽在18 天前
稳如狗网络工具箱:IP、DNS、WebRTC、测速、连通性和全球延迟检测工具简明介绍
网络·网络协议·tcp/ip·网络安全·性能优化·webrtc
用户07806253471919 天前
getUserMedia 权限排障实战:浏览器拒绝,不一定是用户点了“拒绝”
nginx·webrtc
某林21222 天前
ROS2 + WebRTC + MQTT 异构系统架构
架构·系统架构·机器人·硬件架构·webrtc·ros2