FFmpeg 中 RTSP推流桌面和Android设备延时测试

news2024/12/27 13:07:07

文章目录

  • 1. FFMPEG 推流:
    • 1.1 FFmpeg 源码准备
    • 1.2 RTSP 推流服务器
  • 2. 执行流程
    • 2.1 启动服务器
    • 2.2 执行桌面推流
    • 2.3 播放
  • 3. 安卓测试

1. FFMPEG 推流:

1.1 FFmpeg 源码准备

官网,GitHub,CSDN中选一个就好:

● 官网:

Builds - CODEX FFMPEG @ gyan.dev

下载源码:选择一个就好

在这里插入图片描述
在这里插入图片描述

● GitHub

Releases · BtbN/FFmpeg-Builds (github.com)
在这里插入图片描述

● CSDN 已上传 ffmpeg 和 rtsp 服务器:

‍FFmpeg RTSP 推流桌面

1.2 RTSP 推流服务器

● GitHub

Releases · aler9/mediamtx (github.com)

在这里插入图片描述

2. 执行流程

​ 解压后:

在这里插入图片描述

2.1 启动服务器

● ​双击 运行 即可:

在这里插入图片描述

● ​弹出此界面:

在这里插入图片描述

2.2 执行桌面推流

● 在源码 bin 文件下打开终端:

在这里插入图片描述

● 运行指令:

ffmpeg -f gdigrab -i desktop -s 1280x720 -rtsp_transport tcp -preset ultrafast -acodec libfaac -f rtsp rtsp://127.0.0.1:8554/stream

参数说明:

-f gdigrab ​​ ,gdigrab基于Win32 GDI的屏幕捕获设备。可以捕获Windows桌面屏幕显示区域的画面图像

-i desktop​ : 指定输入文件。 desktop是指输入设备是桌面屏幕

-f rtsp rtsp://127.0.0.1:8554/stream​: 输出格式为rtsp流,地址为本机地址

● 开始推流

在这里插入图片描述

● 打开打开北京时间:

北京时间校准_北京时间在线校准显示毫秒 - 倒计时器 (daojishiqi.com)

2.3 播放

● vlc 播放流:

rtsp://127.0.0.1:8554/stream

在这里插入图片描述

● 显示:

可以看出vlc的延时相当大的:

在这里插入图片描述

3. 安卓测试

● ipconfig 查到window本机地址为 192.168.xx.xx

● 安卓端播放器输入地址 rtsp://192.168.xx.xx/stream

安卓采用 FFMPEG 4.4.1版本,使用 QVideoFrame 代替sws方案,VideoOutput 来刷新图片

在这里插入图片描述
在这里插入图片描述
加上图传再测试,约增加50~100ms延时

● 其它方式推流

  • 本文介绍的桌面推流:
    ​ffmpeg -f gdigrab -i desktop -s 1280x720 -rtsp_transport tcp -preset ultrafast -acodec libfaac -f rtsp rtsp://127.0.0.1:8554/stream

  • UDP推流:
    ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream

  • TCP推流:
    ffmpeg -re -i input.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/stream

  • 循环推流:
    ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream

      其中:
      -re 为以流的方式读取;
      -stream_loop 为循环读取视频源的次数,-1为无限循环;
      -i 为输入的文件;
      -f 为格式化输出到哪里
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448279.html

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

相关文章

在线图片编辑网站汇总

目录 前言一、在线抠图工具1. 佐糖2. remove.bg3. Clipping Magic4. 起兮深深5. BgSub6. 改图神器7. PIXLR 二、其他工具1. 压缩图2. AI人工智能图片放大 前言 本文收录了多个可以在线抠图、在线编辑图片的网站。 一、在线抠图工具 1. 佐糖 官网:链接 特点&#x…

一本通 3.4.4 并查集

1346:【例4-7】亲戚(relation) 【题目描述】 或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的,但如果两个人的最近公共祖…

企业想注销境外投资备案应该怎么做?

我们今天就来说一下关于境外投资备案的注销,有办理的需求,当然就有注销的需求。如果您当初想去海外投资并购一家公司,因此办理了境外投资备案,但是由于种种原因可能没有办法投资下去了,那么这个时候我们就需要做境外投…

【Linux网络服务】SSH远程访问及控制

一、openssh服务器 1.1ssh协议 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能; SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令&#xff1…

测试月入30K,Soeasy?测试这一行涨薪机制被我摸透了...

1.软件测试如何实现涨薪 首先涨薪并不是从8000涨到9000这种涨薪,而是从8000涨到15K加到25K的涨薪。基本上三年之内就可以实现。 如果我们只是普通的有应届毕业生或者是普通本科那我们就只能从小公司开始慢慢往上走。 有些同学想去做测试,是希望能够日…

nodejs+vue 智能餐厅菜品厨位分配管理系统

系统功能主要介绍以下几点: 本智能餐厅管理系统主要包括三大功能模块,即用户功能模块和管理员功能模块、厨房功能模块。 (1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来…

BPF之前端工具BCC与bpftrace

BPF前端工具BCC与bpftrace 一、概述 BCC和bpftrace到底是什么,与BPF是什么关系呢? 经过上一篇的介绍,BPF是内核中的执行引擎,BCC和bpftrace则是两个前端工具,比如用户可以直接使用的命令行工具。 BCC与bpftrace又有…

Stable Diffusion Lora模型训练详细教程

1. 介绍 通过Lora小模型可以控制很多特定场景的内容生成。 但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_~)。 甚至可以训练一个专属家庭版的模型(fami…

JDK JRE JVM之间的关系

文章目录 1.从定义的角度解释JDK、JRE、JVM2、详细介绍JDK3、详细介绍JRE4、详细介绍JVM1、JVM内部区域划分 5、如何运行一个java程序? 本篇文章仅仅是个人片面观点,可能有错误或者表述不清的地方 1.从定义的角度解释JDK、JRE、JVM JDK:Java…

ArcGIS面要素最小外接矩形、外接圆的绘制方法

本文介绍在ArcMap软件中,基于一个面图层,绘制其中面要素的最小外接矩形、最小外接圆等的方法。 首先,我们来看一下本文需要实现的需求。现有一个面要素图层,其中包含多个面要素,如下图所示。我们希望绘制这个面要素图层…

【Redis】Redis十大数据类型—列表List

介绍 List列表是简单的字符串列表,按照插入顺序排序,可以从头部或尾部向List列表添加元素。 列表的最大长度是2^32-1,也就是每个列表支持超过40亿个元素。 实现 底层数据结构是由双向链表或压缩列表实现。 如果列表的元素个数小于 512 个…

Python获取某乎问答区计算机专业学生应聘保洁这一内容,看看为啥会有此事发生

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 不知道现在还有多少人玩知某乎, 今天刷话题的时候看到这么一个问答, 这么有趣的话题,咱们就对其问答内容进行采集一下?? 效果展示 可以看到,数据…

Linux 远程访问控制 SSH SCP SFTP TCP-Wrappers

SSH&#xff08;secure shell&#xff09;协议 一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程复制等功能。 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令 SSH客户端<-----------------网络------------------…

android 布局优化

1.绘制和布局加载原理 本文仅供个人学习记录&#xff0c;详细介绍可查看下面链接 Android布局优化&#xff0c;多套方案全面解析 布局优化的原因&#xff1a;布局嵌套过深&#xff0c;或者其他原因导致布局渲染性能不佳&#xff0c;可能会导致应用卡顿。 android绘制原理&am…

5.3 牛顿-科茨公式

学习目标&#xff1a; 理解微积分基础知识&#xff0c;例如导数和微分的概念。学习牛顿-科茨公式的推导过程。这个公式实际上是使用泰勒公式对被积函数进行展开&#xff0c;并使用微积分的基本原理进行简化得到的。学习如何使用牛顿-科茨公式进行数值积分。这通常涉及到将被积…

Ajax超详解(新手入门指南)

文章目录 1. AJAX简介2. 前后端交互3. XHR3.1 XMLHttpRequest对象3.2 获取模拟的后端数据3.3 获取网络数据3.4 使用json-server模拟服务器3.4.1 安装node.js3.4.2 安装并使用json-server 3.5 常见的请求方式3.5.1 GET请求3.5.2 POST请求3.5.3 PUT请求3.5.4 PATCH请求3.5.5 DELE…

【图像分割】Segment Anything(Meta AI)论文解读

文章目录 摘要一、引言二、segment anything任务1.任务2.预训练3.zero shot transfer4.相关任务5.讨论 三*、Segment Anything 模型四、Segment Anything 数据引擎五、Segment Anything 数据集六、Segment Anything RAI分析七、Zero-Shot Transfer 实验1.zero shot 单点有效掩模…

springboot本地local配置覆盖远程Apollo配置(含Apollo配置加载顺序说明)

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;https://zhangxiaofan.blog.csdn.net/article/details/130302692 目录 前言 Apollo配置加载顺序 步骤 第一步&#xff1a;Apollo创建properties 第二步&#xff1a;添加namespaces&…

js的dom事件流、事件委托和阻止绑定事件触发

主要讲解事件绑定和事件委托&#xff0c;onclick事件和addEventListener的区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&l…

IT项目管理计算题【太原理工大学】

计算题好像也没多少考点&#xff0c;主要就是记公式吧&#xff0c;其他的不想看了&#xff0c;直接考啥看啥&#xff0c;就看两个&#xff1a; ① 根据进度网络图写出时间参数表&#xff0c;ES、EF、LS、LF、TF 以及 FF&#xff0c;关键路径&#xff0c;总工期&#xff1b;② 挣…