解决SRS推送webrtc流卡顿问题

news/2024/11/7 20:30:17/

目录

  • 1.问题描述
  • 2.原因分析
  • 3.ffmpeg去掉B帧的方法
    • 3.1 命令行推流
    • 3.2 ffmpeg源码推流

1.问题描述

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

2.原因分析

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

3.ffmpeg去掉B帧的方法

3.1 命令行推流

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

 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;


http://www.ppmy.cn/news/1545162.html

相关文章

【论文精读】LPT: Long-tailed prompt tuning for image classification

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀论文精读_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 摘要 2. …

Python Matplotlib:基本图表绘制指南

Python Matplotlib:基本图表绘制指南 Matplotlib 是 Python 中一个非常流行的绘图库,它以简单易用和功能丰富而闻名,适合各种场景的数据可视化需求。在数据分析和数据科学领域,Matplotlib 是我们展示数据的有力工具。本文将详细讲…

半监督基本概念

预备知识 硬标签&软标签 硬:只表示某个数据点属于哪个类别,不包含其他概率信息 软:通常表示为一个数据点属于每个类别的概率 伪标签低检出问题: 在半监督学习中,经常利用模型自身的预测结果(通常为高置信度的预测)生成伪标签,然后用这些伪标签作为目标来继续训…

【进度猫-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

UE5.4 PCG基础节点

Projection:投影。可以让撒点重新恢复到表面采样器的初始高度和旋转值。缩放保持不变 DensityFilter:密度过滤器 AttributeNoise:Attribute噪声 模式:设置。重新定义噪点分布为0-1 模式:加0或乘1的时候&#xff0…

hhdb数据库介绍(4)

常用名词 集群 集群通常指使用关系集群数据库HHDB Server所需要搭建的整套架构组件的整体。一般包含计算节点、存储节点、配置库、管理平台、备份程序等。不同集群在业务上是独立的,管理平台中也可以同时管理多套集群业务。 计算节点 计算节点是关系集群数据库H…

掌握AI Prompt的艺术:如何有效引导智能助手

开头叙述: 在人工智能的世界里,Prompt(提示)是沟通人类意图与机器理解之间的桥梁。它不仅是一串简单的文字,而是一把钥匙,能够解锁AI模型的潜力,引导它们执行复杂的任务。本文将探讨Prompt的重…

ARM base instruction -- ccmp (immediate)

Conditional Compare (immediate) sets the value of the condition flags to the result of the comparison of a register value and an immediate value if the condition is TRUE, and an immediate value otherwise. 此指令一般出现在 cmp 指令之后,表示双重比…