Looking for help understanding the difference between the codecs:
avc1.42c020 and avc1.428020
I have a program that can request video in either of these formats but I'm not sure which one I should choose. Is one higher quality than the other? Will one impact CPU usage / network bitrate more than the other? Or are these mostly the same?
Hoping someone can explain what the numbers represent or point me in the right direction to look it up. Thanks!
CodePudding user response:
This is described in Section 7 of RFC 6190. The three bytes that intrigue you are called the profile-level-id, and indicate the profile and sub-profile of the AVC codec that the peer supports. In your particular case, 42c020 indicates support for the Constrained Baseline profile, and 428020 indicates support for the Baseline profile.
The Baseline profile has slightly better support for dealing with packet loss, but some devices might not support it (only the Constrained Baseline profile is compulsory to implement in WebRTC according to RFC 7742). In practice, however, WebRTC doesn't need the features omitted in the Constrained Baseline profile (it has other mechanisms for dealing with packet loss), so it should be fine to choose the Constrained Baseline profile in all cases.