解决SRS推送webrtc流卡顿问题

news2024/11/13 9:01:28

目录

  • 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.coloradmin.cn/o/2237313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot助力的共享汽车业务优化系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

【启程Golang之旅】从零开始构建可扩展的微服务架构

欢迎来到Golang的世界!在当今快节奏的软件开发领域,选择一种高效、简洁的编程语言至关重要。而在这方面,Golang(又称Go)无疑是一个备受瞩目的选择。在本文中,带领您探索Golang的世界,一步步地了…

多个NVR同时管理EasyNVR多品牌NVR管理工具/设备:IP常见问题解决方案

随着视频监控技术的不断发展,NVR(网络视频录像机)已经成为现代安防系统的重要组成部分。而为了更高效地管理多个品牌的NVR设备,EasyNVR这一多品牌NVR管理工具应运而生。然而,在实际使用过程中,尤其是在多个…

GS-Blur数据集:首个基于3D场景合成的156,209对多样化真实感模糊图像数据集。

2024-10-31,由韩国首尔国立大学的研究团队创建的GS-Blur数据集,通过3D场景重建和相机视角移动合成了多样化的真实感模糊图像,为图像去模糊领域提供了一个大规模、高覆盖度的新工具,显著提升了去模糊算法在真实世界场景中的泛化能力…

一文熟悉新版llama.cpp使用并本地部署LLAMA

0. 简介 最近是快到双十一了再给大家上点干货。去年我们写了一个大模型的系列,经过一年,大模型的发展已经日新月异。这一次我们来看一下使用llama.cpp这个项目,其主要解决的是推理过程中的性能问题。主要有两点优化: llama.cpp …

VMWareTools安装及文件无法拖拽解决方案

文章目录 1 安装VMWare Tools2 安装vmware tools之后还是无法拖拽文件解决方案2.1 确认vmware tools安装2.2 客户机隔离2.3 修改自定义配置文件2.4 安装open-vm-tools-desktop软件 1 安装VMWare Tools 打开虚拟机VMware Workstation,启动Ubuntu系统,菜单…

Maven的依赖管理、传递、冲突、父子工程的继承和聚合

目录 一、基于IDEA 进行Maven依赖管理 (一)依赖管理概念 (二)Maven工程核心信息配置和解读(GAVP) (三)Maven工程依赖管理配置 1.依赖管理和依赖添加 2.依赖版本统一提取和维护 (四)依赖范围 (五)Maven工程依赖下载失败错误解决(重点…

华为云计算知识总结——及案例分享

目录 一、华为云计算基础知识二、华为云计算相关案例实战案例一:搭建弹性云服务器(ECS)并部署Web应用案例二:构建基于OBS的图片存储和分发系统案例三:基于RDS的高可用数据库应用案例四:使用华为云DDoS防护保…

证件照尺寸168宽240高,如何手机自拍更换蓝底

在提供学籍照片及一些社会化考试报名时,会要求我们提供尺寸为168*240像素的电子版证件照,本文将介绍如何使用“报名电子照助手”,借助手机拍照功能完成证件照的拍摄和背景更换,特别是如何将照片尺寸调整为168像素宽和240像素高&am…

智能出行助手:SpringBoot共享汽车管理平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理共享汽车管理系统的相关信息成为必然。开发…

cell队列监控

1.cell队列监控 基于Windows定时计划任务,通过Windows bat脚本监控Cell队列,当Source Cell队列有告警没有传递至Destination Cell时,能够及时发出告警。 Cell_Queue_Monitoring.bat ::关闭命令回显 echo off::日志目录创建 if not exist &…

基于java+SpringBoot+Vue的师生共评作业管理系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

Leetcode刷题Python之540.有序数组中的单一元素

提示:使用二分查找降低时间复杂度。 文章目录 一、问题描述示例 二、解题思路三、代码实现代码解析 总结 一、问题描述 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数…

基于SpringBoot和Vue的公司文档管理系统设计与开发(源码+定制+开发)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

如何保证kafka生产者数据可靠性

ack参数的设置: 0:生产者发送过来的数据,不需要等数据落盘应答 假如发送了Hello 和 World两个信息,Leader直接挂掉,数据就会丢失 生产者 ---> Kafka集群 一放进去就跑 数据可靠性分析:丢数 1&#…

python画图|text()和dict()初探

【1】引言 在进行hist()函数的学习进程中,了解到了subplot_mosaic()函数,在学习subplot_mosaic()函数的时候,又发现了text()和dict()函数。 经探究,text()和dict()函数有很多一起使用的场景,为此,我们就一…

网线类别线芯含义和传输距离以及水晶头制作标准

网线八芯每根的含义: 网线的八根线芯,也被称为RJ45网线中的8芯,网线采用8根线芯,这八根线芯各自承担着特定的功能。这8根线芯被分为4对,每对以特定的方式绞合在一起,8芯网线主要是为了减少电磁信号的相互干…

每天五分钟深度学习PyTorch:基于全连接神经网络完成手写字体识别

本文重点 上一节我们学习了搭建普通的全连接神经网络,我们现在用它来解决一个实际问题,我们用它跑一下手写字体识别的数据,然后看看它的效果如何。 网络模型 class ThreeNet(nn.Module) : def __init__ (self,in_dim,n_hidden_1,n_hidden_2,out_dim): super(ThreeNet, self…

【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据,LabVIEW 上位机绘制演化曲线

【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据,LabVIEW 上位机绘制演化曲线 主要介绍了 R78/G15 开发板基于 Arduino IDE 环境串口打印温湿度传感器 DHT11 和温度传感器 DS18B20 传感器的数据,并通过LabVIEW上位机绘制演…

基于MFC实现的赛车游戏

一、问题描述 游戏背景为一环形车道图,选择菜单选项“开始游戏”则可开始游戏。游戏的任务是使用键盘上的方向键操纵赛道上的蓝色赛车追赶红色赛车,红色赛车沿车道顺时针行驶,出发点和终点均位于车道左上方。任一赛车先达到终点则比赛结束。…