I use SIP plugins for calling SIP devices and negotiating SDP. The video encoding used by the device is h264 profile_level_id=42801F. After the call is connected, check chrome://webrtc-internals/ , `PacketsReceived ‘and’ bytesReceived ‘are increasing, but’ framesDecoded 'is 0 and the video cannot be viewed. When the profile level id in the device SDF is changed to 42e01f, everything will be normal. However, in practical scenarios, it is not allowed to modify the device’s profile level id. How to change the profile level id to profile_level_id=42e01f after Janus receives the device answer, and then convert it to the browser’s WebRTC SDF
Janus doesn’t care about profiles, since it will just relay media and not touch it. Browsers are finnicky with H.264, and most of them only support baseline profiles (the only one that’s mandatory to implement), which explains why 42e01f works and other may not. That said, most browsers will be able to decode H.264 anyway even if they say they don’t understand the profile, so “lying” about it often helps.
That’s something you can do on the client side. For instance, if the SIP caller puts a profile different than 42e01f in their SDP, in the web application replace that profile ID with 42e01f before doing the setRemoteDescription, and when the WebRTC user prepares an SDP answer, replace the 42e01f they write with the one the SIP endpoint originally sent to make them “happy” before sending it to Janus.