Jump to: navigation, search

GVP MCP:mpc:h264-fmtp



View in ref guide.

Edit this option          Publish this option          Clear draft content


Published Option

h264.fmtp

Default Value: profile=b; level=3.1; packetization-mode=*;|profile=cb; level=3.1; packetization-mode=*;|profile=m; level=3.1; packetization-mode=*;
Valid Values: Please check the parameter description.
Changes Take Effect: At start/restart


Specifies the H264 SDP profile, level and packetization mode offered and accepted by the MCP. Set to one or more fmtp text values separated by the '|' character. One fmtp text is in the form of "profile=X; level=Y; packetization-mode=Z;".

X is an element of the set {*, b, cb, m, e, h, h10, h10i, h42, h42i, h44, h44i, c44i} specifying the H264 profile offered and accepted by the MCP. In the set, * is used as the wildcard to allow the MCP to offer and accept any valid profile. The rest of the set are profiles defined by H264 whose full name are (in respective order as the aforementioned set): {baseline, constrained baseline, main, extended, high, high 10, high 10 intra, high 4:2:2, high 4:2:2 intra, high 4:4:4, high 4:4:4 intra, cavlc 4:4:4 intra}. Invalid profile value will be replaced with * (wildcard).

Y is an element of the set {*, 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 5.1} specifying the H264 level of the corresponding profiles offered and accepted by the MCP. In the set, * is used as the wildcard to allow MCP to offer and accept any valid level for its corresponding profile. The rest of the set are levels defined by H264. Invalid level value will be replaced with * (wildcard).

Z is an element of the set {*, 0, 1} specifying the H264 packetization mode offered and accepted by the MCP. Similar to the others, * is used as the wildcard to allow the MCP to offer and accept any valid packetization mode. 0 refers to single NALU packetization mode while 1 demands non-interleaved packetization capability. The MCP does not support interleaved packetization mode, as well as, any value other than stated. Invalid packetization-mode value will be replaced with 0 (single NALU).

During SDP negotiation, each fmtp text value without wildcard will be translated to one H264 media fmtp line while those with wildcard will be translated to one or more H264 media fmtp line equivalent to the wildcard.
For example, profile=b; level=1.1; packetization-mode=* which is the first part of the default will be translated to two H264 media fmtp lines of profile-level-id=42000B; packetization-mode=0; and profile-level-id=42000B; packetization-mode=1;. Note that profile "b" is equivalent to 66 in decimal or 42 in hexadecimal and level "1.1" is equivalent to level 11 in decimal or level 0B in hexadecimal.
According to RFC3984, the use of profile-level-id and packetization-mode during capability exchange must be negotiated symmetrically except the level part can be downgraded. For example, the MCP is configured with h264.fmtp="profile=b; level=1; packetization-mode=1;" and it receives an offer with H264 media fmtp line of profile-level-id=420033; packetization-mode=1; which is equivalent to h264.fmtp="profile=b; level=5.1; packetization-mode=1". In this case, the profile and packetization-mode of the platform and the offer are symmetric but the level parts are not. This offer will be accepted by the MCP with level downgrade in its response, e.g. "profile-level-id=42000A; packetization-mode=1". The offerer when receiving the response will know that the answerer has accepted the offer but the level must be downgraded and the offerer will have to produce the H264 content accordingly when proceeding with this response.
Another example, the MCP is configured with h264.fmtp="profile=b; level=5.1; packetization-mode=1" and it receives an offer with H264 media fmtp line of profile-level-id-42000A; packetization-mode=1; which is equivalent to h264.fmtp="profile=b; level=1; packetization-mode=1". In this case, the profile and packetization-mode of the platform and the offer are symmetric but the level parts are not. This offer will still be accepted by the MCP without level downgrade in its response, e.g. "profile-level-id=42000A; packetization-mode=1;". The MCP accepts the offer because it is configured with a higher level which is capable of processing any lower level. The offerer will receive the response that the MCP has accepted the offer.

H264 transcoder does not support extended and advanced 4:4:4 profiles. Consequently, if H264 transcoding is enabled for the session, the fmtp containing one of the following profiles (whether enumerated by * or explicitly configured) will not be offered and also not accepted during the SDP negotiation: {e, h44, h44i, c44i}

Draft Option

No draft option

This page was last edited on December 17, 2021, at 13:59.
Comments or questions about this documentation? Contact us for support!