You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We referred to WISH, WHIP and Janus: Part II to make it possible to use FFmpeg for publishing a stream to Janus via WHIP. We have also created a demo docker image janus-docker for quick testing.
git clone https://github.com/winlinvip/janus-docker.git
cd janus-docker
Initially, run the demo Docker that includes Janus server using the following command:
To download the code and build FFmpeg, you can use the following command.
cd~/git
git clone -b master https://github.com/winlinvip/ffmpeg-webrtc.git
cd ffmpeg-webrtc
./configure --enable-muxer=whip --enable-openssl --enable-version3 \
--enable-libx264 --enable-gpl --enable-libopus
make -j
Note: To enable DTLS handshake, OpenSSL is mandatory. Please install OpenSSL, for instance, brew install openssl, and then configure the environment by running export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig".
Note: For demonstration purposes, you can install libx264 by running brew install x264 and libopus by running brew install opus.
Remark: Please use OpenSSL 1.0.2 and newer, because Janus requires DTLS 1.2.
Although WebRTC has the capability to support x264 main and high profiles without B frames, it is advisable to use the baseline profile for better compatibility. If your stream doesn't have these codecs, you can transcode it using FFmpeg.
After publishing the stream to the Janus room, you will be able to view it on the previously opened webpage. The image below shows that the latency is around 120ms.
Note: Sometimes, the latency might exceed 120ms, which could be due to my environment. We have reported an issue at here.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
We referred to WISH, WHIP and Janus: Part II to make it possible to use FFmpeg for publishing a stream to Janus via WHIP. We have also created a demo docker image janus-docker for quick testing.
git clone https://github.com/winlinvip/janus-docker.git cd janus-docker
Initially, run the demo Docker that includes Janus server using the following command:
After that, access the URL http://localhost:8081/videoroomtest.html?room=2345 in your browser to join the Janus room.
Next, download and run the Simple WHIP Server for Janus using the following command:
git clone https://github.com/meetecho/simple-whip-server.git cd simple-whip-server git checkout bd2d98898b9842bfc329443b46bcc906aab857aa npm install npm run build npm run start
Generate a WHIP handler using curl, which will enable ffmpeg to join the same Janus room through WHIP:
To download the code and build FFmpeg, you can use the following command.
Although WebRTC has the capability to support x264 main and high profiles without B frames, it is advisable to use the baseline profile for better compatibility. If your stream doesn't have these codecs, you can transcode it using FFmpeg.
After publishing the stream to the Janus room, you will be able to view it on the previously opened webpage. The image below shows that the latency is around 120ms.
Beta Was this translation helpful? Give feedback.
All reactions