H.264 / WebRTC
H.264 视频功能
H.264 简介
H.264(也称为 MPEG-4 AVC)是一种高效的视频压缩标准,广泛应用于流媒体传输。相比 MJPEG,H.264 具有以下优势:
- 更低的带宽占用
- 更好的压缩效率
- 支持音频传输
- 更低的网络延迟
实现方案
PiKVM 提供两种 H.264 编码方案:
Libx264 方案(推荐)
Libx264 是 VideoLAN 开发的高性能 H.264 编码库。此方案:
- 已集成到最新版本中并默认启用
- 性能优异,使用便捷
- 支持 WebRTC 实时传输
FFmpeg 方案(已停止维护)
此方案使用 FFmpeg 软件编码,由于性能问题已停止维护:
- CPU 占用较高
- 在低性能设备上体验较差
- 仅作为历史方案归档使用
WebRTC 配置
WebRTC 说明
WebRTC 使用 P2P 连接和 UDP 传输,可以:
- 降低网络延迟
- 减少服务器负载
- 提供更好的实时性能
默认配置
WebRTC 默认使用 Google STUN 服务器,配置位于 /etc/kvmd/override.yaml:
远程访问配置
支持两种远程访问方式:
视频质量调优
画质优化
如果视频质量不理想,需要检查硬件和软件设置:
硬件环境:
1. 确保局域网为千兆交换机,若为wifi环境至少为 600Mbps以上高速高性能Wifi AP
2. R1系列采集卡插入的为盒子本体或者USB扩展器的USB 3.0接口,S805系列采集卡插入的为靠近网口的为usb2.0 端口
3. 确保各硬件的连线接口不要松动或者受潮生锈(喷电子除锈剂或者多插拔几次去掉氧化层)
4.确保HDMI线为新一代HDMI 2以上高端线材更换廉价线材。
软件设置:
1. 在网页右上角系统菜单中调整 H.264 比特率
2. 根据网络状况适当调整分辨率(720p可获得更高帧率)
3. 选择合适的画质预设参数
4. R1盒子在低带宽下选择或者调整合适的GOP参数 调整GOP值为30:stream_gop=30 启用错误隐藏:h264_err_detect=ignore
5. 不带H264硬解码的S805盒子必须选择 网页右上角 系统 视频模式 MJPEG / HTTP 来改善显示画面
公网环境:
建议R1盒子 低带宽下有限建议720f webrtc或者H264传输
建议确保公网或者内网映射链路的出口带宽 至少为8-40Mbps以上

