解决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;

相关推荐
OpenLoong 开源社区1 天前
打破 NAT 限制,零侵入跨网络通信:基于 WebRTC 的透明 TCP 隧道跨网络通信方案
网络协议·tcp/ip·开源·webrtc·openloong开源社区
探鸽小钛4 天前
4G 终端 ES8311 - 挂断一次,下次说话就没声了之解决办法
物联网·音视频·嵌入式·esp32·webrtc
草根大哥5 天前
AI 编程实践之自建视频CDN
音视频·webrtc·低延迟直播·视频cdn·低延迟cdn
EasyCVR5 天前
应急指挥怕延迟?聊聊视频汇聚/视频融合/视频分析EasyCVR平台WebRTC低延迟方案
音视频·webrtc·easycvr
TrueDei6 天前
WebRTC ICE 候选变成 mDNS 地址导致连接失败:原因分析与解决方案
webrtc
中屹指纹浏览器svip9 天前
WebRTC泄露是什么,怎么关闭?
webrtc
海边捡石子10 天前
从零设计一个通用智能电话平台:FreeSWITCH + ESL + AI 实战架构
人工智能·架构·webrtc
音视频牛哥10 天前
不换摄像机,也能接入 WebRTC?SmartMediaKit RTSP/RTMP 转 WHIP 技术实践
音视频·webrtc·smartmediakit·rtsp转whip·rtmp转whip·whip推流·rtsp转webrtc播放
直播技术开发交流12 天前
Android 端 WHIP 协议推流技术实践:相机/录屏/多路转发WHIP实现测试
webrtc·android whip·rtsp转whip·毫秒级实时媒体流·whip低延时推送·whip推送实现·rtsp转webrtc
程序员阿明14 天前
docker搭建视频流服务go2rtc,webRTC
docker·容器·webrtc