Skip to content

level-asymmetry-allowed and profile-level-id capabilities and settings #382

@aboba

Description

@aboba

In looking at the H.264 SDP used by Mozilla Firefox (see below), I noticed the level-asymmetry-allowed SDP parameter (set to 1, to indicate that FF supports level asymmetry).

In the ORTC API, we provide a profileLevelId capability within an RTCRtpReceiver (to indicate the maximum profile-level-id that a receiver can handle), as well as a profileLevelId setting within an RTCRtpSender (to configure the profile-level-id for the sender). Currently there is no levelAsymmetryAllowed capability.

Is there an assumption within the ORTC API that all implementations support level asymmetry? Also, since there is no profileLevelId capability within an RTCRtpSender, how does a developer determine the maximum profile-level-id that a sender can support?

Mozilla FF SDP returned by createOffer():

v=0
o=mozilla...THIS_IS_SDPARTA-47.0a1 5983883222922123900 0 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 2E:92:F3:20:7D:3F:19:53:37:F5:0E:AB:2B:4B:C9:6A:59:C6:E1:D0:1F:EB:7C:C2:00:E2:CB:05:6C:C1:9A:19
a=group:BUNDLE sdparta_0 sdparta_1
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 9 UDP/TLS/RTP/SAVPF 109 9 0 8
c=IN IP4 0.0.0.0
a=sendrecv
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=ice-pwd:ebd7decbfa8c702b923d585b5144c3e0
a=ice-ufrag:97edf848
a=mid:sdparta_0
a=msid:{df8df6c4-5206-4b75-9e31-1a84dd513abf} {31ac2e92-dcbe-4643-b23b-91000ed9dac8}
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=setup:actpass
a=ssrc:3124154477 cname:{6c71c29f-72ff-4cc4-8cb1-eb4e3be55244}
m=video 9 UDP/TLS/RTP/SAVPF 120 126 97
c=IN IP4 0.0.0.0
a=bundle-only
a=sendrecv
a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
a=fmtp:120 max-fs=12288;max-fr=60
a=ice-pwd:ebd7decbfa8c702b923d585b5144c3e0]
a=ice-ufrag:97edf848
a=mid:sdparta_1
a=msid:{df8df6c4-5206-4b75-9e31-1a84dd513abf} {cb329e17-e276-4e85-8923-f01029c9bccc}
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-mux
a=rtpmap:120 VP8/90000
a=rtpmap:126 H264/90000
a=rtpmap:97 H264/90000
a=setup:actpass
a=ssrc:19456627 cname:{6c71c29f-72ff-4cc4-8cb1-eb4e3be55244}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions