Hi guys,
I hope this is the right group for the topic ... I have a question regarding H264 codec compatibility with Webrtc enabled browsers. I hope someone can help.
I have been playing around the Janus-GW streaming plugin and basically we can
manage to playback any h264 stream encoded with the following profile_id
(42e01f). What basically means baseline profile (66) constraint flag set
at (0,1,2). I tried to dig in to the mailing list and happens to be the profille_id mostly tested by other group members.
Profile: 42e01f
0100 0010 = Profile_idc: Baseline profile (66)
1... .... = Constraint_set0_flag:1
.1.. .... = Constraint_set1_flag:1
..1. .... = Constraint_set2_flag:1
...0 .... = Constraint_set3_flag:0
.... 0000 = Reserved_zero_4bits: 0
0001 1111 = Level_id: 31 [Level 3.1]
On the other hand we cannot manage to get
our streams running if we, for instance, run a profile_id (42801e), what
also means baseline but with unconstrained flags (1,2).
Profile: 42801e
0100 0010 = Profile_idc: Baseline profile (66)
1... .... = Constraint_set0_flag:1
.0.. .... = Constraint_set1_flag:0
..0. .... = Constraint_set2_flag:0
...0 .... = Constraint_set3_flag:0
.... 0000 = Reserved_zero_4bits: 0
0001 1110 = Level_id: 30 [Level 3.0]
I was wondering if someone can someone confirm if any
h264 baseline (66) profile with Constraint_set0,
Constraint_set1,
Constraint_set2 ... but leaven the freedom for a Level_id choice
(basically a profile_id on this range 42e0XX, XX meaning the Level_id) could "guarantee" codec compatibility in most common webrtc enabled web browsers?
After some tests with ffmpeg ... I think the assumption is right but it would be great if someone else can confirm ...
Thanks!
Javier