解决SRS推送webrtc流卡顿问题

目录

1.问题描述

使用ffmpeg通过rtmp协议推流给SRS,然后浏览器通过webrtc拉取播放流,经多次测试发现webrtc播放流总是卡顿,而拉取rtmp流是正常的。

2.原因分析

经测试发现,只要rtmp推流的视频编码中含有B帧,SRS推送出来的webrtc流就卡顿,去掉就好了。

3.ffmpeg去掉B帧的方法

3.1 命令行推流

命令行推流时,增加-bf 0 选项关闭B帧

bash 复制代码
 nohup ffmpeg -re -stream_loop -1 -i ${vfile} -c:v libx264 -c:a copy -bf 0 -f flv rtmp://10.0.0.136/live/${vname} > /dev/null 2>&1 &

3.2 ffmpeg源码推流

// 设置最大 B 帧数量为 0

codec_context->max_b_frames = 0;

相关推荐
RTC老炮4 小时前
webrtc降噪-PriorSignalModelEstimator类源码分析与算法原理
算法·webrtc
卜锦元11 小时前
Mediasoup的SFU媒体服务转发中心详解(与传统SFU的区别)
音视频·webrtc·媒体
pp-周子晗(努力赶上课程进度版)11 小时前
Node.js 模块系统选择-学习 CommonJS 和 ESM
node.js·webrtc
赖small强1 天前
【ZeroRange WebRTC】NAT 与防火墙在 WebRTC 中的影响
webrtc·防火墙·nat·stun
赖small强1 天前
【ZeroRange WebRTC】OpenSSL 与 WebRTC:原理、集成与实践指南
webrtc·openssl·x.509·证书验证·tls/dtls
赖small强1 天前
【ZeroRange WebRTC】WebRTC 媒体安全:实现原理与应用(深入指南)
webrtc·dtls-srtp·端到端加密·srtcp 控制安全·srtp 加密与完整性
赖small强2 天前
【ZeroRange WebRTC】码学基础与实践:哈希、HMAC、AES、RSA/ECDSA、随机数、X.509
webrtc·哈希算法·aes·hmac·rsa/ecdsa·x.509
小柯博客3 天前
交叉编译aws kvs webrtc
webrtc
赖small强4 天前
【ZeroRange WebRTC】WebRTC 访问控制:最小权限与短期凭证(深入指南)
webrtc·房间/频道·短期令牌·临时凭证
RTC老炮4 天前
webrtc降噪-NoiseEstimator类源码分析与算法原理
算法·webrtc