首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    Linux|麒麟操作系统下实现屏幕|摄像头|声音采集

    背景随着国产操作系统的推进,传统行业对Linux平台的呼声和需求越来越大,之前几年,我们发布了Linux平台运营商级的RTSP转RTMP推送模块、RTMP推送模块和RTSP、RTMP播放模块,前段时间, 有开发者问我们,是不是可以在Linux平台实现轻量级RTSP服务,通过采集摄像头或者屏幕,在Linux平台实现类似于IPC的功能,便于第三方系统对接。 4000kbps push_api->SetVideoEncoderSpecialInt32Option(push_handle, "usage_type", 0); //0是摄像头编码, 1是屏幕编码 NT_PB_E_VIDEO_OPTION{ NT_PB_E_VIDEO_OPTION_NO_VIDEO = 0x0, NT_PB_E_VIDEO_OPTION_SCREEN = 0x1, // 采集屏幕 NT_PB_E_AUDIO_OPTION_EXTERNAL_PCM_DATA = 0x5, /*外部PCM数据*/ NT_PB_E_AUDIO_OPTION_MIC_EXTERNAL_PCM_MIXER = 0x6,

    3K20编辑于 2023-02-13
  • 来自专栏RTSP/RTMP直播相关

    基于RTMP实现Linux|麒麟操作系统下屏幕|系统声音采集推送

    其实基于开源软件Linux二次开发的操作系统,近年来的发展趋势非常迅猛。 Linux已经有20年历史,尤其近十年经过突飞猛进的发展,Linux桌面操作系统已经远远摆脱了“具备与主流桌面操作系统的可比性”阶段,基于拥有众多优秀的开源应用软件的基础,在软件多样性、硬件兼容性、用户体验等各方面做了大量的改进 在欧美,我们不时听到一些政府部门将采用Linux桌面办公:慕尼黑市政府用十年的时间,成功的“赶走”了微软;伯明翰市政府、法国国会、瑞士、挪威和南非政府部门也都采用了Linux桌面办公。 国产操作系统|Linux下RTMP同屏推送 在发布国产操作系统|Linux平台的RTMP直播推送SDK之前,大牛直播SDK(官方)的RTMP推送模块已稳定运行在Windows、Android和iOS平台几年了 相对Windows、Android和iOS平台,Linux在桌面采集等方面,资料非常少,数据采集可以采用调用XLib相关接口实现,本Demo实现的是Linux上实现桌面和系统声音采集,然后使用RTMP协议推出去的一个

    1.6K40发布于 2021-07-22
  • 来自专栏RTMP推送

    Linux(含麒麟操作系统)如何实现多显示器屏幕采集录制

    在这样的背景下,我们实现了Linux平台下的以屏幕采集、摄像头采集、麦克风扬声器采集为数据源的RTMP推送模块、轻量级RTSP服务模块,和RTMP播放器和RTSP播放器模块,并同时覆盖了x86-64架构和 技术实现xrandr本文我们要讨论的是,如何在Linux平台实现多显示器的屏幕采集录制。我们知道,Linux下,X Window Sysem支持多显示器的配置和显示器列表获取。 XRRMonitor id, 采集X屏幕时使用* xrr_monitor_id: -1:采集所有屏幕, SDK默认为-1. NT_PB_SetCaptureXRRMonitor()设置要采集的XRRMonitor id, 采集X屏幕时使用。 ;支持扩展录像模块;支持Unity接口;支持H.264扩展SEI发送模块;支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要

    1K10编辑于 2024-09-26
  • 来自专栏RTMP推送

    Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务

    VirtualDisplay,这个VirtualDisplay会捕获屏幕内容并将其发送到指定的Surface;资源释放:当屏幕捕获不再需要时,确保释放MediaProjection和VirtualDisplay 如果音频播放采集采集麦克风都打开,可以通过右侧下拉框,推送过程中,音频播放采集和麦克风采集实时切换。 需要注意的是,Android采集音频播放的audio,音频播放采集是依赖屏幕投影的,屏幕投影关闭后,音频播放也就采不到了。 支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;支持RTMP推送 live|record模式设置;支持前置摄像头镜像设置;支持软编码、特定机型硬编码;支持横屏、竖屏推送;支持Android屏幕采集推送 总结以上是Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器,整体部署

    88510编辑于 2024-08-16
  • 来自专栏进击的多媒体开发

    深入浅出,Andorid 端屏幕采集技术实践

    屏幕采集则是实现实时屏幕共享流程中的第一步,本篇技术分享就来跟大家讲讲拍乐云在 Andorid 端屏幕采集的经验实践。 鉴于目前市面上5.0以下的 Android 手机占比很低且屏幕采集需要 root 权限实现复杂,接下来我们主要介绍 Android5.0 及以上版本的屏幕采集原理。 屏幕采集流程 介绍完以上关键角色,我们大致可以画出一套屏幕采集流程图: ? 下面逐步介绍代码实现。 屏幕采集帧率的上限取决以 Android 设备的屏幕刷新率,下限是0,即丢弃所有返回数据不处理。采集帧率并不是越高越好,够用就行。 比如在低端机上,就算以较高帧率采集屏幕数据,但受限于机器编解码能力,实际上屏幕传输的帧率达不到采集帧率,反而会消耗过多系统资源导致发热、卡顿等现象。这时候就需要适当降低采集帧率。

    2.5K20发布于 2021-06-09
  • 来自专栏RTSP/RTMP直播相关

    Linux平台屏幕|摄像头采集并实现RTMP推送两种技术方案探究

    ​ 技术背景随着国产化操作系统的推进,市场对国产化操作系统下的生态构建,需求越来越迫切,特别是音视频这块,今天我们讨论的是如何在linux平台实现屏幕|摄像头采集,并推送至RTMP服务。 我们知道,Linux平台,如果需要采集摄像头,可使用V4L2相关接口,屏幕采集用X相关接口实现,如果是Wayland协议, 用PipeWire相关接口实现采集就好。 FFmpeg VS SmartPublisher今天我们探讨的是,两种技术选型下的linux平台同屏摄像头RTMP推送实现:FFmpeg技术方案在Linux平台上采集屏幕和摄像头内容,并将其推送到RTMP X11屏幕采集;支持部分V4L2摄像头设备采集;[屏幕/V4L2摄像头]支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;[V4L2摄像头]支持V4L2摄像头设备选择(设备文件名范围:[/dev ;支持Unity接口;支持H.264扩展SEI发送模块;支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0

    64510编辑于 2024-09-06
  • 来自专栏用户9239674的专栏

    一行代码实现安卓屏幕采集编码

    image.png 越来越多的App需要共享手机屏幕给他人观看,特别是在线教育行业。 本库对屏幕采集编码进行了封装,简单的调用即可实现MediaProjection权限申请,H264硬编码,错误处理等功能。 ScreenShareKit.init(this) .onH264{ buffer, isKeyFrame, ts -> }.start() Github 源码地址 实现 1 请求用户授权屏幕采集 其实,可以结合一些第三方的音视频SDK,直接将编码后的屏幕流数据通过第三方SDK推流,就能实现屏幕共享功能。 Resources.getSystem().displayMetrics.widthPixels }) }.start() 几行代码就可以实现屏幕采集编码传输

    1.5K00编辑于 2021-12-04
  • 来自专栏四月天的专栏

    Linux桌面系统屏幕信息获取

    Linux桌面系统屏幕信息获取(Qt、X11、Xrandr、Xinerma) ​ 最近在项目测试中,发现了关于Qt - UI分辨率自适应的问题。从大小屏幕互相切换的问题。也引发了关于屏幕检测的问题。 并不是预想中,小屏幕与大屏幕的DPI值是按照正比例来进行缩放的。不同品牌,不同年代的DPI也可能会发生,小屏幕的DPI大于大屏幕的DPI,所以字体没有如预期一样变小,反而变大了。 Windows下的获取调用WindowsAPI进行设置,网上大多也给出了解决方案,但是linux在怎么获取,大多都没有提到,所以在这进行讨论。 //获取当前屏幕的相关信息,首先获取App所在屏幕索引,然后根据索引或者当前屏幕的指针。 以后劲量避免使用Qt接口来设置屏幕相关属性了。 Xrandr 笔者目前使用的获取屏幕信息方法,xrandr。

    15.6K70编辑于 2023-03-10
  • 来自专栏RTSP/RTMP直播相关

    Windows平台实现Unity下窗体|摄像头|屏幕采集推送

    本文以Windows平台为例,数据源分别为Unity的窗口、摄像头或整个屏幕,编码传输模块,还是调用大牛直播SDK(官方)的原生接口,简单界面先睹为快: win_publisher_unity2.png 初始化参数配置 这里需要注意下,如果要采集unity窗口,需要设置图层模式,先填充一层RGBA黑色背景,然后再添加一层,用于叠加外部数据。 数据采集 摄像头和屏幕的数据采集,还是调用原生的SDK接口,本文不再赘述,如果需要采集Unity窗体的数据,可以用参考以下代码: if ( texture_ == null || video_width 6. MarshalAs(UnmanagedType.LPStr)] String param5, [MarshalAs(UnmanagedType.LPStr)] String param6,

    1.4K30发布于 2021-06-10
  • 来自专栏HONEYWELL

    ABB 4943013-6 用于数据采集

    ABB 4943013-6 用于数据采集图片edgeConnector Siemens模块是一个高度灵活的先进应用程序,您可以立即部署、调整、启动或停止,从而提高生产的可扩展性和灵活性。

    25120编辑于 2023-04-28
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现屏幕数据采集并推送至RTMP服务器

    智慧教室等场景的普及,好多企业或者开发者开始寻求更高效稳定低延迟的RTMP同屏方案,本文以大牛直播SDK(Github)的同屏demo(对应工程:SmartServicePublisherV2)为例,介绍下如何采集编码推送 mImageReader = ImageReader.newInstance(sreenWindowWidth, screenWindowHeight, 0x1, 6) libPublisher = new SmartPublisherJniV2(); private void InitAndSetConfig() { //开始要不要采集音频或视频 last_image.close(); last_image = null; } } } 关闭采集推送 } libPublisher.UnInitRtspServer(); super.onDestroy(); } 以上就是Android平台数据采集

    1.4K00发布于 2020-06-14
  • 来自专栏Linux内核深入分析

    Linux音频驱动-声音采集过程

    辨别阀用来表示听觉器官辨别声音某种特性最小差异的能力 声音的采集是在一段连续的信号中, 采取离散的信号, 采集密度用采样率来表示。香浓采样定理表明,采样频率必须大于被采样信号带宽的两倍。 如果采样率越高,单位信号的采集的样本信号就越多,信号还原度也就越高。 从上面的不同的采样率可以看到, 采样率越高的信号清晰度就越高,当然也要求更多的存储空间。 除了采集率, 采样位数也是一个重要的采样指标, 它是对一个采样精确度的表示。 它和采样率共同影响信号的采集的质量。 采样位数是用来表示一个采样信号的长度。

    2.9K11发布于 2020-03-24
  • 来自专栏韦东山嵌入式

    LCD屏幕操作原理_嵌入式Linux

    5.1 LCD 操作原理 在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。

    2.8K10编辑于 2022-05-05
  • 来自专栏咖啡走糖

    linux桌面自动登录及屏幕相关操作

    2配置屏幕选择方向以及关闭息屏模式 在/etc/X11修改xorg.conf文件,如果没有,自行创建; 修改完后可使用xset -q查看设置和当前配置。 Section "Monitor" Identifier "DSI-1" Option "Rotate" "left" #left为屏幕向左旋转

    6.7K20编辑于 2022-11-05
  • 来自专栏技术小屋-未分类

    Linux——Linux驱动之玩转SPI(下)iMX6ULL驱动SPI接口的6轴MEMS传感器芯片实现数据采集开发实战

    《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》

    1.3K20编辑于 2022-10-31
  • 来自专栏blackpiglet

    Linux 屏幕取词解决方法:Chrome 插件

      我的工作用电脑的桌面环境是 Ubuntu 17.10,作为一个 Linux 用户,一直困扰我的一个问题是没有找到一个比较理想的可以取词划词的英语词典,之前我尝试过几种方法: 有道:有道是有 Linux

    2.9K30发布于 2018-08-23
  • 来自专栏Pythonista

    6linux

    脱产班Linux周末内容 日期 主题 内容 1 Linux入门 "计算机硬件、操作系统概述 物理服务器、机房、云服务器 GNU/GPL 、开源协议 Linux发行版 VMware虚拟机安装CentOS 7.x Xshell优化 ssh远程连接详解 Linux文件目录结构详解 Linux绝对相对路径 Linux环境变量、系统 系统用户管理、sudo提权 Linux文件目录权限、特殊权限 Firewalld iptables防火墙 软件包管理之yum、rpm Linux计划任务crontab Linux系统服务管理systemctl " 3 linux部署项目 "Linux编译安装python3.x Linux虚拟环境管理virtualenv、virtualenv wrapper Linux下Django group、user、crond、mount Ansible-Roles AnsiblePlaybook部署、管理Nginx 基于python实现RPC服务 " 6

    1.7K20发布于 2020-07-21
  • 来自专栏程序猿的栖息地

    Thinkphp6实现APP手机应用信息采集

    手机应用信息采集数据源来自腾讯管家。 ps:链接有可能不能使用了 已经封装成一个类库,拿过去稍微改一下自己要采集的参数就能用 <?

    32510编辑于 2022-04-29
  • 来自专栏大数据,java,Python和前端

    警惕日志采集失败的 6 大经典误区

    这种方式存在以下问题:a. copy 动作产生的新文件可能被当作新的内容重复采集。因为文件系统的 inode 变化,采集器可能无法正确识别这是轮转后的旧文件。 c. truncate 操作可能导致文件大小变小和头部内容变化,缩小文件或改变文件头部签名会导致采集器误判为新文件,造成重复采集。 如果无法避免,请在配置采集配置时使用精确的路径名。 采集不完整。当文件发生写入事件时,采集器开始采集数据。但如果采集过程中其他进程继续写入,这些新写入的内容可能被跳过。c. 文件锁争用。多进程写入可能导致文件锁争用,影响写入性能和可靠性。 在覆盖过程中,文件大小等元信息可能先于实际内容更新,导致采集器读取到不完整或不一致的内容。b. 数据丢失风险。如果在日志采集过程中发生覆盖写入,可能导致采集读取到的数据内容错乱或丢失。c.

    27410编辑于 2025-07-17
  • 来自专栏landv

    linux c++ 通过xcb库获取屏幕大小

    linux c++ 通过xcb库获取屏幕大小 #include <stdio.h> #include <xcb/xcb.h> /** clang++ main.cpp -o main `pkg-config

    9.1K30发布于 2019-11-30
领券