Does Janus handle adaptive bitrate?

I want to broadcast video to the Janus server which I can use RTP client, but I want to use webrtc client to take advantage of webrtc encryption and adaptive bitrate.

For example, if I have 2 broadcasters one with very good bandwidth and one with average bandwidth. browser to browser webrtc handles adaptive bitrate and encryption, is this also true for Janus?

We only do adaptive bitrate from sender to Janus, not yet from Janus to receivers. For the latter you can use something like simulcast to provide multiple options, but it’s still up to you to tell Janus which version of the stream (high, medium or low quality) to send to a specific subscriber.

@lorenzo Thank you. This seem reasonable and good enough for the time being. This is still true for using Gstreamer with UDP sink over RTP/RTSP?

What about encryption? If I am going to use a WHIP client or using webrtcbin with gstreamer, and the the viewer will be getting stream from Janus. Am I go to maintain webrtc offered encryption from both sides?

I know WHIP is not officially adapted, Do you think using RTP/RTSP compared to WHIP client for getting better performance? I am trying to build POC where Janus can be a black box where we can work with your company in the future if we managed to build a client to dump stream into Janus for viewers to consume.

RTSP can only be used as a source with the Streaming plugin: if you want generic injection (e.g., to the VideoRoom or other plugins) then you need WebRTC. If you’re interested in WHIP, we wrote a GStreamer based client some time ago, which can be used with our WHIP Server to push WebRTC media to a Janus VideoRoom instance. Once it’s in the VideoRoom, thanks to RTP forwarders you can do pretty much whatever you want with it.

Thanks @lorenzo. Yes I do need generic injection. I looked at your WHIP client and server. This is exactly What I am trying to to do for my client where I will be injecting real-time WebRTC media into Janus then viewers can consume media over webrtc from Janus.

I have tested gstreamer pipeline to stream media over RTP which seems very good from latency and quality perspective, but I am interested in making the client to inject media over webrtc as it will be broadcaster only and make it more generic . I would assume once media in the VideoRoom, the viewers can simply consume/subscribe to it using Webrtc in a web browser, correct?

I understand the VideoRoom plugin is based on a Publish/Subscribe pattern. I would assume my WHIP client can be a publisher only, correct?

Thanks for pointing out RTP forwarders plugins which seems very interesting if I need to forward the steam for another destination!