Hi, here are the steps that worked for me , 2022 August .
here official guide is https://github.com/meetecho/janus-gateway
This seeks to help those who have had a problem in installing based on the other guides so this may be an option.
By the way this will install the latest version of janus [Assuming branch is master] .
Make sure you have c++ base compiler or c++ env are set globally other most builds will fail . make sure CMAKE_CXX_COMPILER
is found .
run the following steps
sudo aptitude install libmicrohttpd-dev
sudo aptitude install libmicrohttpd-dev
sudo aptitude install libjansson-dev
sudo aptitude install libssl-dev
sudo apt install libsrtp2-dev
sudo aptitude install libsofia-sip-ua-dev
sudo aptitude install libglib2.0-dev
sudo aptitude install libopus-dev
sudo aptitude install libogg-dev
sudo aptitude install libcurl4-openssl-dev
sudo aptitude install liblua5.3-dev
sudo aptitude install libconfig-dev
sudo aptitude install pkg-config
sudo aptitude install libtool automake
sudo apt install libnice-dev
sudo apt-get -y install libsrtp2-dev
sudo apt install supervisor
git clone https://github.com/sctplab/usrsctp && cd usrsctp && ./bootstrap && ./configure --prefix=/usr --disable-programs --disable-inet --disable-inet6 && make && sudo make install && cd ..
git clone https://libwebsockets.org/repo/libwebsockets && cd libwebsockets && mkdir build && cd build && cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..
make && sudo make install
cd .. && cd ..
git clone https://github.com/eclipse/paho.mqtt.c.git && cd paho.mqtt.c && make && sudo make install && cd ..
sudo aptitude install libnanomsg-dev
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 && sudo make install && cd .. && cd ..
sudo aptitude install doxygen graphviz
git clone https://github.com/meetecho/janus-gateway.git && cd janus-gateway && sh autogen.sh
sudo mkdir /opt/janus && sudo mkdir /opt/janus/bin && sudo ./configure --prefix=/opt/janus && sudo make && sudo make install
sudo make configs
sudo ./configure --enable-docs
At point your are done installing janus as much .Now lets run the application using supervisor that you installed on step sudo apt install supervisor
to run janus as a service in the background run sudo nano /etc/supervisor/conf.d/janus.conf
paste this into the terminal
[program:janus]
command=/opt/janus/bin/janus
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/janus.err.log
stdout_logfile=/var/log/janus.out.log
- to save press
CTRL + O
and press Enter or return key to save . pressCtrl + X
to exit and run the following command: sudo supervisorctl reread && sudo supervisorctl update
- to reload restart janus or service run
sudo supervisorctl reload
to test open http://localhost:8088/janus/info or http://ipaddress:8088/janus/info
Here is another option to run all the above commands in a single line . This may have errors do review and give feedback to make it better for others as well .
sudo apt-get -y update && sudo apt-get -y install aptitude && \
sudo apt install -y cmake && \
sudo apt-get -y install build-essential && \
sudo apt-get -y install g++ && \
sudo aptitude -y install libmicrohttpd-dev && \
sudo aptitude -y install libjansson-dev && \
sudo aptitude -y install libssl-dev && \
sudo apt -y install libsrtp2-dev && \
sudo aptitude -y install libsofia-sip-ua-dev && \
sudo aptitude -y install libglib2.0-dev && \
sudo aptitude -y install libopus-dev && \
sudo aptitude -y install libogg-dev && \
sudo aptitude -y install libcurl4-openssl-dev && \
sudo aptitude -y install liblua5.3-dev && \
sudo aptitude -y install libconfig-dev && \
sudo aptitude -y install pkg-config && \
sudo aptitude -y install libtool automake && \
sudo apt -y install libnice-dev && \
sudo apt-get -y install libsrtp2-dev && \
sudo apt install supervisor && \
clear && echo "#########################################################################" && \
echo "##################### Done.Doing Repo Packages###########################" && \
echo "#########################################################################" && \
sudo apt-get -y install libusrsctp-dev && \
git clone https://libwebsockets.org/repo/libwebsockets && cd libwebsockets && mkdir build && cd build && cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" .. && \
make && sudo make install && \
cd .. && cd .. && \
clear && echo ">> Step:INSTALLING paho.mqtt.c" && \
git clone https://github.com/eclipse/paho.mqtt.c.git && cd paho.mqtt.c && make && sudo make install && cd .. && \
sudo aptitude -y install libnanomsg-dev && \
clear && echo ">> Step:INSTALLING 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 && sudo make install && cd .. && cd .. && \
clear && echo ">> Step:INSTALLING doxygen graphviz " && \
sudo aptitude -y install doxygen graphviz && \
clear && echo ">> Step:INSTALLING janus-gateway FROM GITHUB " && \
git clone https://github.com/meetecho/janus-gateway.git && cd janus-gateway && sh autogen.sh && \
sudo mkdir /opt/janus && sudo mkdir /opt/janus/bin && sudo ./configure --prefix=/opt/janus && sudo make && sudo make install && \
sudo make configs && \
sudo ./configure --enable-docs && cd .. && \
clear && echo ">> Step:SYSTEM CONFIG using supervisor " && \
sudo mkdir -p /etc/supervisor/conf.d/ && \
FILE=/etc/supervisor/conf.d/janus.conf && sudo mkdir -p "$(dirname "$FILE")" && sudo touch "$FILE" && \
sudo sh -c 'printf "[program:janus]\n command=/opt/janus/bin/janus\n user=root\n autostart=true\n autorestart=true\n stderr_logfile=/var/log/janus.err.log\n stdout_logfile=/var/log/janus.out.log\n\n" >/etc/supervisor/conf.d/janus.conf' && \
sudo supervisorctl reread && sudo supervisorctl update && \
sudo supervisorctl reload && \
clear && echo "###################################################################################################" && \
echo "##################### Done.To test open http://localhost:8088/janus/info ##########################" && \
echo "###################################################################################################"
Native installation configurations files path - /opt/janus/etc/janus/
- Meaning for example janus.jcfg file path is
/opt/janus/etc/janus/janus.jcfg
to edit you runsudo nano /opt/janus/etc/janus/janus.jcfg
Remember if you wisht to reload is**sudo supervisorctl reload**
Revisado y corregido los errores que basicamente con con la creacion de enlaces simbolicos que daban error de file exist...
Probado en ubuntu 24.04
sudo apt-get -y update && sudo apt-get -y install aptitude &&
sudo apt install -y cmake &&
sudo apt-get -y install build-essential g++ &&
sudo aptitude -y 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 doxygen graphviz libnanomsg-dev &&
sudo apt -y install libsrtp2-dev libnice-dev libusrsctp-dev supervisor &&
git clone https://libwebsockets.org/repo/libwebsockets && cd libwebsockets && mkdir build && cd build &&
cmake -DLWS_MAX_SMP=1 -DLWS_WITHOUT_EXTENSIONS=0 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" .. && make && sudo make install && cd ../.. &&
git clone https://github.com/eclipse/paho.mqtt.c.git && cd paho.mqtt.c && make &&
sudo rm -f /usr/local/lib/libpaho-mqtt3c.so
/usr/local/lib/libpaho-mqtt3cs.so
/usr/local/lib/libpaho-mqtt3a.so
/usr/local/lib/libpaho-mqtt3as.so &&
sudo make install && sudo ldconfig && cd .. &&
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 && sudo make install && cd ../.. &&
git clone https://github.com/meetecho/janus-gateway.git && cd janus-gateway && sh autogen.sh &&
sudo mkdir -p /opt/janus/bin && sudo ./configure --prefix=/opt/janus && sudo make && sudo make install &&
sudo make configs && sudo ./configure --enable-docs && cd .. &&
sudo mkdir -p /etc/supervisor/conf.d/ &&
sudo sh -c 'printf "[program:janus]\ncommand=/opt/janus/bin/janus\nuser=root\nautostart=true\nautorestart=true\nstderr_logfile=/var/log/janus.err.log\nstdout_logfile=/var/log/janus.out.log\n" > /etc/supervisor/conf.d/janus.conf' &&
sudo supervisorctl reread && sudo supervisorctl update && sudo supervisorctl reload &&
echo "###################################################################################################" &&
echo "##################### Janus instalado. Prueba: http://localhost o IP:8088/janus/info ##################" &&
echo "###################################################################################################"
Si algo falla (a mi no con estos comandos) podeis dejar el tema limpio con estos comandos...
cd ~ &&
sudo rm -rf /opt/janus &&
sudo rm -f /etc/supervisor/conf.d/janus.conf &&
sudo supervisorctl reread && sudo supervisorctl update &&
rm -rf ~/libwebsockets &&
rm -rf ~/paho.mqtt.c &&
rm -rf ~/rabbitmq-c &&
rm -rf ~/janus-gateway &&
sudo rm -f /usr/local/lib/libpaho-mqtt3c.* &&
sudo rm -f /usr/lib/libwebsockets.* &&
sudo rm -f /usr/lib/librabbitmq.* &&
sudo ldconfig
Recordar de abrir los puertos necesarios...
3478 | UDP | STUN (si usas ICE/STUN para WebRTC NAT traversal)
49152-65535 | UDP | Rango dinámico de WebRTC media (RTP/RTCP) — muy importante
8088 | HTTP | API HTTP de Janus (plugin REST)
8089 | WebSocket | API WS de Janus (plugin WebSockets)
8188 | HTTP | WebRTC streaming (si activas WebSocket streaming en otra interfaz)
8189 | WebSocket | WebRTC streaming por WebSocket (similar a 8089)
10000+ | UDP | Puede usarse para videoroom u otros plugins en ICE media stream (igual que 49152+)