为 webrtc 实现 Janus 网关
Posted
技术标签:
【中文标题】为 webrtc 实现 Janus 网关【英文标题】:implement janus gateway for webrtc 【发布时间】:2014-07-21 13:47:43 【问题描述】:我正在按照 janus 文档构建视频 mcu 系统。我根据自述文件安装了它的所有依赖项。
http://janus.conf.meetecho.com/docs/
之后,当我使用 sh install.sh
运行脚本时,出现以下错误
In file included from test.c:1:0:
../websock/src/websock.h:55:26: fatal error: event2/event.h: No such file or directory
#include <event2/event.h>
^
compilation terminated.
make[1]: *** [test.o] Error 1
make[1]: Leaving directory `/home/gayan/MyDetails/MyApplications/virtualClassRoomTest/janus-gateway/wstest'
make: *** [wstest] Error 2
The installer couldn't find the libwebsock lib, which is needed for WebSockets
You can install version 1.0.4 (required!) with the following steps:
wget http://paydensutherland.com/libwebsock-1.0.4.tar.gz
tar xfv libwebsock-1.0.4.tar.gz
cd libwebsock-1.0.4
./configure --prefix=/usr && make && sudo make install
[Note: you may need to pass --libdir=/usr/lib64 to the configure script if you're installing on a x86_64 distribution]
If you're not interested in WebSockets support, you can disable them passing nowebsockets to the install script:
./install.sh nowebsockets
我也按照上面的步骤安装了libwebsock,但是还是报错。 event2 目录不在 janus-gateway 代码中。这是所有源代码的 github 链接。 https://github.com/meetecho/janus-gateway.git 任何形式的帮助将不胜感激。
【问题讨论】:
我猜 libwebsocket 不在你的路径中......另外,你清理并重新制作了吗? 感谢本杰明的评论。 libwebsocket 按照文档说明位于 janus-gateway 文件夹内。我也做了 make clean 和 make 了。但结果是一样的。正如我之前提到的,event2 文件夹和 event.h 文件也不在源代码中。 您没有 64 位操作系统?我已经完成了您所做的事情,并且在 Debian Jessie x86 上运行良好。此外,LibWebsocket 不能在 janus-gateway 文件夹中......它应该被安装并位于您的 PATH 中。很可能是/usr/lib/
中的 lib 文件和 /usr/include/
中的包含文件。
@BenjaminTrent 你能看一下this吗?不胜感激。
【参考方案1】:
让 websockets 工作的完整安装步骤(Ubuntu 14)是:
mkdir -p ~/build
sudo apt-get install libmicrohttpd-dev libjansson-dev libnice-dev libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libini-config-dev libcollection-dev libwebsockets-dev pkg-config gengetopt automake libtool doxygen graphviz git cmake
sudo apt-get install libavformat-dev
echo "Start installing libwebsockets"
cd ~/build
git clone git://git.libwebsockets.org/libwebsockets
cd libwebsockets
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT=ON ..
make && sudo make install
echo "Start installing Janus"
cd ~/build
git clone git://github.com/meetecho/janus-gateway.git
cd janus-gateway
sh autogen.sh
./configure --disable-data-channels --disable-rabbitmq --disable-docs --prefix=/opt/janus LDFLAGS="-L/usr/local/lib -Wl,-rpath=/usr/local/lib" CFLAGS="-I/usr/local/include"
make && sudo make install
sudo make configs
如果使用 wss,请确保复制证书,chrome 对这些东西真的很挑剔。如果使用自签名证书,您必须在 chrome 中信任它们(非常直观的过程:)))
sudo cp mycert.pem /opt/janus/share/janus/certs/
sudo cp mycert.key /opt/janus/share/janus/certs/
【讨论】:
【参考方案2】:我遇到了这个问题,后来解决了
sudo apt-get install libevent-dev
我的系统是ubuntu 14.04 64位
【讨论】:
以上是关于为 webrtc 实现 Janus 网关的主要内容,如果未能解决你的问题,请参考以下文章