WebRTC janus安装编译教程

janus编译

系统 ubuntu 22.04

1.更新系统

apt-get update -y

2.安装依赖

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

apt install meson ninja-build -y

4.设置python优先级

update-alternatives --install /usr/bin/python python /usr/bin/python3 1

5.安装libnice

git clone https://gitlab.freedesktop.org/libnice/libnice
cd libnice
meson --prefix=/usr build && ninja -C build && ninja -C build installexport PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfigInstalling 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运行程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系列十二、Redis的主从复制

一、概述 主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据。 二、架构图 三、搭建主从复制 3.1、准备三台机器并修改配置 # 准备三台机器并修改配置 说明:由于是个人笔记本,开启3个虚拟机比较消耗内存,所以使用…

快如闪电的扩容:秒级启动,弹性伸缩让您无忧

文章目录 快速扩容:秒级启动,弹性伸缩服务器秒级启动服务秒级启动升级JDK的版本通过将应用程序打包成WAR文件并部署到已经启动的Tomcat服务器上来实现秒级启动使用Spring Cloud Function和云原生技术来构建无服务器应用程序,可以实现秒级启动…

UniGUI 登录全屏 退出全屏(使浏览器全屏)

// 全屏 function fullScreen() { var element document.documentElement; if (element.requestFullscreen) { element.requestFullscreen(); } else if (element.msRequestFullscreen) { element.msRequestFullscreen(); } else if (element…

WPF ListView 鼠标点击,移动改变背景色不启作用

构建数据源 <Window.Resources><x:ArrayExtension x:Key"stringList"xmlns"clr-namespace:System;assemblymscorlib"Type"String"><String>第一行</String><String>第二行</String><String>第三行<…

封装hfex-icon的plugin

hfex-icon 的plugin配置 Install npm i hfex-icon-plugin -D使用 v1.0.2版本 vue.config.js const HfexIconPlugin require(hfex-icon-plugin) module.exports {configureWebpack:{plugins:[...HfexIconPlugin.plugins]} }v1.1.1版本 在v1.1.0版本中&#xff0c;重新使用…

《动手学深度学习 Pytorch版》 9.5 机器翻译与数据集

机器翻译&#xff08;machine translation&#xff09;指的是将序列从一种语言自动翻译成另一种语言&#xff0c;基于神经网络的方法通常被称为神经机器翻译&#xff08;neural machine translation&#xff09;。 import os import torch from d2l import torch as d2l9.5.1 …

云表|低代码开发崛起:重新定义企业级应用开发

低代码开发这个概念在近年来越来越受到人们的关注&#xff0c;市场对于低代码的需求也日益增长。据Gartner预测&#xff0c;到2025年&#xff0c;75&#xff05;的大型企业将使用至少四种低代码/无代码开发工具&#xff0c;用于IT应用开发和公民开发计划。 那么&#xff0c;为什…

黑豹程序员-架构师学习路线图-百科:MVC的演变终点SpringMVC

MVC发展史 在我们开发小型项目时&#xff0c;我们代码是混杂在一起的&#xff0c;术语称为紧耦合。 如最终写ASP、PHP。里面既包括服务器端代码&#xff0c;数据库操作的代码&#xff0c;又包括前端页面代码、HTML展现的代码、CSS美化的代码、JS交互的代码。可以看到早期编程就…

【C语言】#define宏与函数的优劣对比

本篇文章目录 1. 预处理指令#define宏2. #define定义标识符或宏&#xff0c;要不要最后加上分号&#xff1f;3.宏的参数替换后产生的运算符优先级问题3.1 问题产生3.2 不太完美的解决办法3.3 完美的解决办法 4.#define的替换规则5. 有副作用的宏参数6. 宏与函数的优劣对比6.1 宏…

向量数据库Transwarp Hippo1.1多个新特性升级,帮助用户实现降本增效

例如,当查询“A公司业务发展情况”时,通过向量检索可以检索出A公司“主要业务”、“经营模式”、“财务情况”、“市场地位”等信息,通过全文检索可以检索出知识库中和关键字“业务”、“发展”相关的结果作为补充,通过将两者检索的结果进行结合,可以使得大模型回答的结果…

438. 找到字符串中所有字母异位词

给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 1: 输入: s "cbaebabacd", p "…

分类预测 | Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入分类预测

分类预测 | Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入分类预测 目录 分类预测 | Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入…

【Qt】常见控件

文章目录 按钮组QListWidget列表容器TreeWidget树控件TableWidget 表格控件其它控件介绍下拉框QLabel显示图片和动图 自定义控件封装 按钮组 QPushButton 常用按钮 QToolButton 工具按钮&#xff1a; 用于显示图片 如果想显示文字&#xff1a;修改风格&#xff1a;toolButto…

文档外发控制与安全:实现高效协作与数据安全的关键

随着企业数据量的不断增加&#xff0c;文档外发成为了一个不可避免的需求。然而&#xff0c;很多企业在文档外发过程中存在着很多问题&#xff0c;如数据泄露、信息误用等。因此&#xff0c;如何保证文档外发的安全性和高效性成为了企业亟待解决的问题。飞驰云联Ftrans的文件收…

Kafka Tool(Kafka 可视化工具)安装及使用教程

Kafka Tool&#xff08;Kafka 可视化工具&#xff09;安装及使用教程 Kafka Tool 工具下载 下载地址 http://www.kafkatool.com/download.html 下载界面 不同版本的Kafka对应不同版本的工具&#xff0c;个人使用的是2.11&#xff0c;所以下载的是最新的2.0.8版本&#xff…

C++初阶--C++入门(2)

C入门&#xff08;1&#xff09;链接入口 文章目录 内联函数auto关键字注意事项 基于范围的for循环(C11)nullptr 内联函数 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提…

Spring学习笔记(2)

Spring学习笔记&#xff08;2&#xff09; 一、Spring配置非定义Bean1.1 DruidDataSource1.2、Connection1.3、Date1.4、SqlSessionFactory 二、Bean实例化的基本流程2.1 BeanDefinition2.2 单例池和流程总结 三、Spring的bean工厂后处理器3.1 bean工厂后处理器入门3.2、注册Be…

Flutter的Invalid use of a private type in a public API警告

文章目录 问题描述有问题的源码 问题原因解决方法 问题描述 自己在写Flutter 应用时发现了一个Invalid use of a private type in a public API警告。 发现很多官方的例子也有这个问题。 有问题的源码 有问题的源码如下&#xff1a; class MyTabPage extends StatefulWid…

【Linux学习笔记】代码编辑工具vim

1. vim工具基本模式的转换2. vim命令模式下的各种编辑命令2.1. 光标行定位2.2. 光标自由定位2.3. 复制粘贴2.4. 删除2.5. 文本的大小写替换2.6. 文本的替换2.7. 文本的前删后删2.8. 撤销操作 3. vim底行模式下的命令3.1. 设置行号与取消设置行号3.2. 分屏操作3.3. 在不退出vim的…

【Mac使用技巧】Mac和iPhone间接力功能失效解决总结

问题 Mac OS升级到Monterey版本后&#xff0c;遇到iPhone复制内容后&#xff0c;在Mac无法接力粘贴&#xff0c;此时“接力”功能失效了。 解决过程 参考官网接力功能配置说明 1、重启Mac和iPhone&#xff0c;仍无法接力粘贴 2、重新登录2台设备的iCloud&#xff0c;仍无法…