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

相关推荐
xiejiashu20 小时前
EasyRTC三种工作模式发布,全终端覆盖音视频RTC实时通信99%应用场景
webrtc·webrtc原生sdk·webrtc c sdk·webrtc c++ sdk·webrtc安卓sdk
换个昵称都难21 小时前
webrtc 音频模块FEC模块
网络·音视频·webrtc
换个昵称都难1 天前
webrtc RTP config
webrtc
换个昵称都难1 天前
WebRTC 视频RTP 优化模块
音视频·webrtc
换个昵称都难2 天前
webrtc PeerConnection 模块介绍
音视频·webrtc
换个昵称都难2 天前
webrtc neteq Nack_tracker重发(ARQ 的nack技术) 介绍
webrtc
简简单单lym2 天前
WebRTC进阶--red+ulpfec深度解析3-FEC--冗余控制机制深度解析
开发语言·webrtc
hz567892 天前
实时音视频SDK发展趋势:TRTC、WebRTC与云端音视频服务融合路径
架构·音视频·webrtc·实时音视频
换个昵称都难2 天前
webrtc neteq介绍
音视频·webrtc
喵了几个咪2 天前
实时游戏网络协议深度对比:KCP vs WebRTC vs WebSocket
网络协议·游戏·webrtc