Janus plugin with h264

Hi Team,

Could you please help in this.
I configured janus.plugin.streaming.jcfg

rtp-frontleft: {
type = “rtp”
id = 1
description = “front_left”
audio = false
video = true
videoport = 5004
videopt = 126
videortpmap = “H264/90000”
secret = “adminpwd”
}

and gst pipeline is as below
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=1920, height=1080, framerate=15/1 ! videoconvert ! clockoverlay ! nvvidconv ! “video/x-raw(memory:NVMM),format=NV12” ! nvv4l2h264enc bitrate=1000000 ! rtph264pay ! udpsink host=192.168.1.101 port=5004

I am not able to watch live stream visuals with above configuration.

But if the janus.plugin.streaming.jcfg is configured VP9 like below I am able to get streams.
videopt = 100
videortpmap = “VP9/90000”

Could you please help me in this.

Br,
Jaswanth

You have to configure a videofmtp property too. Check the example in the configuration sample.

Thanks for the help

I have added videofmtp as shown below. Still I cud not able to see steams. But one thing I could see stream bits (in demo UI application), but not streams. I uploaded screenshot of the same.
rtp-frontleft: {
type = “rtp”
id = 1
description = “front_left”
audio = false
video = true
videoport = 5004
videopt = 126
videortpmap = “H264/90000”
secret = “adminpwd”
videofmtp = “profile-level-id=42e028;packetization-mode=1”
}

You need to specify a profile-level-id browsers are more likely to accept.

is profile-level-id dynamic?
I mean I have to support mobile application(both ios and andriod) and web application(all kinds of browsers)
Will profile-level-id change as per browser(application)?
Could you please help me how to get it

The only profile known to always make browsers happy is the baseline one. If you google around or check the discussions on the old meetecho-janus group you’ll find the right value.

Thanks for the help.

Also I see you are using a HW encoder, you should check that the bitstream produced is valid for browsers and other RTC clients that will receive the feed.
As a fallback for testing, consider temporarily switching to a sw encoder.

Hi atoppi,

Same hardware encoder with VP9 payload is working as expected. Only with H264 i am facing issue.

The fact that a hw enc is working with VP9 for WebRTC does not guarantee that the the same encoder will work with another codec (e.g. h264), since the produced bitstream might have a lot of potential issues, like descriptors not compatible with common browsers (or missing some descriptors at all) or maybe the key frame interval is not configurable or too long, and so on.

If you try to see stream in Chrome, you need to be sure you send baseline profile.