H.264 是 WebRTC 中"互通性最强"的视频编码格式,几乎所有浏览器、终端、网关都支持;但在 Native 端默认不开启,需要在编译时显式打开 H.264 编解码支持。本文从编译选项、SDP 协商、Profile 选择、Packetization 模式、关键帧策略五个角度,串通一次完整的 H.264 接入流程。
1. H264在WebRTC里为什么又常用又麻烦
H264 的优势是互通性强:浏览器、移动端、会议网关、硬件芯片、监控设备、传统视频会议系统几乎都能找到 H264 支持。但它也最容易在 Native 集成里踩坑:编译开关、专利授权、硬编适配、profile-level-id、packetization-mode、SPS/PPS、AnnexB/AVCC、关键帧策略,任何一项不匹配都可能表现为“SDP 成功但黑屏”。
WebRTC 中 H264 大致有三种来源:
- OpenH264 软件编解码:适合兼容兜底,CPU 成本较高。
- 平台硬件编码:如 Android MediaCodec、iOS/macOS VideoToolbox、Windows MediaFoundation/NVENC/Intel 等,性能和功耗更好。
- 自定义
VideoEncoderFactory:用于国产芯片、私有硬编、服务端转码或特殊 SDK 集成。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



