概述

随着高清视频的普及视频编码H264已经落后了,H265/AV1成了高清视频最佳选择,metaRTC是最早实现也是最成熟的H265 webRTC开源SDK,但AV1生态还不成熟国内还是以H265为主。

随着chrome 136版本开始支持H265解码,webRTC开始进入H265/AV1时代,metaRTC7.0最新版修复了和chrome H265对接的bug,新版本已经全面兼容chrome webRTC H265。

metaRTC7.0后续版本将以H265/AV1为应用重心,大力加强webRTC H265/AV1生态建设。

下载

git clone https://github.com/metartc/metaRTC
git clone https://gitee.com/metartc/metaRTC

参数设置

typedef enum YangVideoCodec{
	Yang_VED_H264,
	Yang_VED_H265,
	Yang_VED_AV1,
	Yang_VED_VP8,
	Yang_VED_VP9,
	Yang_VED_MJPEG
}YangVideoCodec;

YangAVInfo avinfo;
avinfo.video.videoEncoderType=Yang_VED_H265;

或者配置文件yang_config.ini
[video]
videoEncoderType=1

SDP

m=video 9 UDP/TLS/RTP/SAVPF 49
c=IN IP4 0.0.0.0
a=ice-ufrag:192252g
a=ice-pwd:8q31k7bexd60295om1120s83976lniiv
a=ice-options:trickle
a=fingerprint:sha-256 C5:7B:2C:5F:91:AF:4A:5D:A4:84:AB:36:37:4F:7C:9A:12:80:BE:73:05:3E:B8:76:4D:A1:5A:41:6C:40:7D:11
a=setup:passive
a=mid:1
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:49 H265/90000
a=rtcp-fb:49 transport-cc
a=rtcp-fb:49 nack
a=rtcp-fb:49 nack pli
a=fmtp:49 level-id=93;profile-id=1;tier-flag=0;tx-mode=SRST

H265参数:a=fmtp:49 level-id=93;profile-id=1;tier-flag=0;tx-mode=SRST

profile-id

1 Main Profile (MP) 主流应用,8-bit 4:2:0 通用视频
2 Main 10 Profile 10-bit 4:2:0,支持HDR 4K/HDR内容
3 Main Still Picture 静态图片 照片
4 Range Extensions 扩展范围,支持4:2:2, 4:4:4 专业制作

tier-flag

  • 0Main Tier(主流层)
  • 1High Tier(高层)

Level 4.1:
- Main Tier:  最大码率 20 Mbps
- High Tier:  最大码率 50 Mbps

Level 5.1:
- Main Tier:  最大码率 100 Mbps
- High Tier:  最大码率 250 Mbps

level-id

Level 1        

30 

Level 2        

60 

Level 2.1 

63

Level 3       

90 

Level 3.1 

93

Level 4     

120

Level 4.1   

123

Level 5      

150

Level 5.1     

153 

Level 5.2   

156    

Level 6        

180   

Level 6.1   

183    

Level 6.2    

186

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐