OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备

安装x11grab(用于捕获屏幕流)和libx264(用于编码)

# 基础开发环境&x11grab
sudo dnf install -y \
    autoconf \
    automake \
    bzip2 \
    bzip2-devel \
    cmake \
    freetype-devel \
    gcc \
    gcc-c++ \
    git \
    libtool \
    make \
    mercurial \
    pkgconfig \
    zlib-devel \
    libX11-devel \
    libXext-devel \
    libxcb-devel \
    xorg-x11-server-utils
    
# 安装x264
sudo dnf install -y x264-devel
pkg-config --cflags --libs x264

安装好ffmpeg(这里要用编译安装,因为要添加上–enable-x11grab这个选项只有高版本支持低版本的话是其他几个选项反正你用./configure --help 查看可用选项把带x11的都选上就行了

下载mediamtx,这是推流服务器
下载地址
下载完解压就能用了

安装vlc,我这里是在windows上安装的

命令

先运行推流服务器
./你的mediamtx所在的目录/mediamtx

使用ffmpeg捕获屏幕流并推送到服务器
ffmpeg -f x11grab -i :0.0 -vcodec libx264 -preset ultrafast -acodec aac -f rtsp rtsp://127.0.0.1:8554/desktop

vlc播放
在这里插入图片描述

在这里插入图片描述

效果展示

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Simulink仿真】混合储能平抑光伏功率波动

摘要 本文基于Simulink仿真平台,提出了一种混合储能系统(Hybrid Energy Storage System, HESS)来平抑光伏发电中的功率波动。该系统将超级电容与电池相结合,通过双向DC-DC变换器实现能量的动态分配。超级电容响应快,主…

C语言必做30道练习题

C语言练习30题(分支循环,数组,函数,递归,操作符) 目录 分支循环1.闰年的判断2.阅读代码,计算代码输出的结果3.输入一个1~7的数字,打印对应的星期几4.输入任意一个整数值,…

进程与线程+多线程优势

区别: 1、进程中包含线程,每一个进程都至少一个线程(主线程) 2、进程是申请系统资源的最小单位 3、进程是CPU调度的最小单位 4、线程之间共享进程申请的系统资源 5、一个线程崩溃了会影响整个进程 进程的组织方式&#xff1…

期权懂|期权策略中两边开卖方实值对冲会有盈利区间吗?

期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 期权策略中两边开卖方实值对冲会有盈利区间吗? 一、期权策略中两边开卖方实值对冲的盈利区间可以‌核心策略‌分析‌: 期权对冲策略的核心是利用期权的特…

Follow软件的使用入门教程

开篇 看到很多兄弟还不知道怎么用这个当下爆火的浏览器!在这里简单给需要入门的小伙伴一些建议: 介绍 简单解释一下,RSS 意思是简易信息聚合,用户可以通过 RSS 阅读器或聚合工具自主订阅并浏览各个平台的内容源,不用…

数字孪生的建构之路:从数据到智能

数字孪生是一种将物理实体系统或产品的数字化表示与其实体对应物相结合的概念,通过这种数字化技术,可以实时监测、预测和优化管理实体系统。实现数字孪生需要经历从数据采集、处理到智能化决策等多个步骤。以下是关于如何实现数字孪生的详细介绍。 1. 数…

【C#】创建一个主菜单和弹出菜单系统

文章目录 1. 创建WinForms项目2. 设计窗体3. 添加MenuStrip4. 配置菜单项5. 添加TextBox6. 编写事件处理代码7. 运行和测试 根据您提供的文件内容,看起来您需要在C# WinForms应用程序中设置一个窗体,其中包含一个文本框和几个菜单项,用于改变…

运维告警策略优化与实践

在运维行业中,告警策略的制定与执行是确保系统稳定性和业务连续性的关键环节。面对日益复杂的IT环境和不断变化的运维需求,如何合理制定并优化告警策略,成为运维团队必须面对的重要课题。本文将结合运维行业的现状、挑战及需求,深…

算法通关(3) -- kmp算法

KMP算法的原理 从题目引出 有两个字符串s1和s2,判断s1字符串是否包含s2字符串,如果包含返回s1包含s2的最左开头位置,不包含返回-1,如果是按照暴力的方法去匹配,以s1的每个字符作为开头,用s2的整体去匹配,…

vue3+vite搭建脚手架项目使用eletron打包成桌面应用+可以热更新

当前Node版本:18.12.0,npm版本:8.19.2 1.搭建脚手架项目 搭建Vue3ViteTs脚手架-CSDN博客 可删掉index.html文件的title标签 2.配置package.json {"name": "my-vite-project","private": true,"versi…

Java学习者的福音:SpringBoot教学辅助平台

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

JAVA基础:数组 (习题笔记)

一,编码题 1,数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”&…

网络层5——IPV6

目录 一、IPv6 vs IPv4 1、对IPv6主要变化 2、IPv4 vs IPv6 二、IPv6基本首部 1、版本——4位 2、通信量类——8位 3、流标号——20位 4、有效载荷长度——16位 5、下一个首部——8位 6、跳数限制——8位 7、源 、 目的地址——128位 8、扩展首部 三、IPv6地址 1…

AIRIS 是一种学习型人工智能,它正在自学如何玩 Minecraft

AI开发公司SingularityNET和人工超级智能联盟(ASI Alliance)表示,随着人工智能学习如何通过操作玩游戏,一种新的学习型AI已被留在Minecraft的实例中。名为AIRIS(自主智能增强推断象征主义)的AI基本上是从Minecraft内部开始学习如何…

嵌入式学习-网络高级-Day01

嵌入式学习-网络高级-Day01 【1】Modbus协议 起源 分类 优势 应用场景 【2】Modbus TCP 特点 组成 报文头:7个字节 寄存器(存储数据) 功能码 总结 练习 【3】工具安装 Modbus Slave、Poll安装 网络调试助手 wireshark 练习 【1】Modbus协议 起…

Java项目实战II基于Spring Boot的问卷调查系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导 一、前言 在当今信息爆炸的时代,问卷调查…

【c++语言程序设计】数组(对象数组)

数组是一种按照特定顺序排列的对象集合体,数组中的每个对象称为“元素”。数组的每个元素都用“数组名下标”的形式来表示,并且同一数组内的所有元素类型相同。数组可以由任何类型的数据构成(除 void 外),且数组的概念…

5分钟跑起来:Java构建的AI人工智能智能问答系统_springboot_spring ai_LLM_人工智能_开源免费使用

Agenda: 1)介绍一下AI支持下的智能问答系统有哪些主要模块 2)一个可以跑起来的代码样例,说明怎么用Java构建这个AI智能问答系统 AI人工智能智能问答系统简介 智能问答系统是一种利用人工智能技术理解并回答用户提问的应用。该系…

如何基于pdf2image实现pdf批量转换为图片

最近为了将pdf报告解析成为文本和图片,需要将大量多页的pdf文件拆分下单独的一页一页的图像,以便后续进行OCR和图像处理,因此就需要实现将pdf2image,本文主要结合开源的pdf2image和poppler,实现了pdf转换为png格式图片…

Pytorch用BERT对CoLA、新闻组文本数据集自然语言处理NLP:主题分类建模微调可视化分析

原文链接:https://tecdat.cn/?p38181 原文出处:拓端数据部落公众号 自然语言处理(NLP)领域在近年来发展迅猛,尤其是预训练模型的出现带来了重大变革。其中,BERT 模型凭借其卓越性能备受瞩目。然而&#…