ossrs/srs

[Feature] WebRTC Support VP9

Closed this issue · 0 comments

Originally posted by Drengel1990 February 23, 2024
Are there plans to support VP9 instead of h264? Because it will save a lot of traffic for viewers.

luyang_gone — 10/26/25, 4:27 PM
h264 does not work well with congestion control in rtc
yeah vp9 / av1 is good at it (to keep things live)

VP9 is a similar codec to HEVC, but for WebRTC, VP9 works better than AVC/HEVC in some special cases. However, SRS only support VP9 for WebRTC, doesn't support converting it to RTMP, for RTMP only support AVC/HEVC/AV1 and SRS cannot support transcoding.

The client offer about VP9 generated by Chrome browser:

a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0

a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98

a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2

a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100

Usage: