jicofo
jicofo copied to clipboard
H264 doesn't work in Firefox
Video in H264 doesn't work in Firefox (at least 57 on macOS) in jvb mode. It works fine in p2p with Safari using H264. The root cause is that it seems Firefox doesn't consider H264 if there is no a=fmtp
set of it.
Valid SDP with working H264 should contain something like this
a=fmtp:107 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
Original issue is here https://github.com/jitsi/lib-jitsi-meet/issues/647
chrome doesn't seem to require the profile information in the offer, which is why we hadn't noticed this before when we were testing h264 with chrome. but we'll need to add a parameter extension in jicofo to add the profile information, like so:
addParameterExtension(h264, "profile-level-id", "42e01f;level-asymmetry-allowed=1;packetization-mode=1"
chrome offers many different profiles, but firefox implements only 42e01f i think.
from chrome:
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=fmtp:107 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
a=fmtp:109 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
This is affecting the newer version of Chrome as well.
H264 doesn't work when tested with Chrome 66.0.3359.181 on https://meet.jit.si/demotest#config.preferH264=true&config.p2p.enabled=false&config.disableSimulcast=true
Looks like it's the below change that makes the different. https://webrtc-review.googlesource.com/c/src/+/57820/4/media/base/codec.cc
@rhwu do you know what packetization mode Firefox expects?
@iclems Not sure. Doesn't the suggested change work for you?
Re-open if still relevant