H264 Codec Compatibility

211 views
Skip to first unread message

Dr. Javier Morgade

unread,
Aug 27, 2018, 9:58:39 AM8/27/18
to discuss...@googlegroups.com
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
Reply all
Reply to author
Forward
0 new messages