Open TRAA
文章平均质量分 82
traa is a versatile project aimed at recording anything, anywhere.
ssslar
这个作者很懒,什么都没留下…
展开
-
FFMPEG录屏(22)--- Linux 下基于X11枚举所有显示屏,并获取大小和截图等信息
通过上述步骤,我们可以在 Linux X11 窗口系统下枚举系统中的显示屏,并获取显示屏的 ID、坐标和截图等信息。这些功能可以用于开发桌面管理工具、屏幕录制软件等应用。希望这篇博客对你有所帮助!原创 2024-11-11 13:23:51 · 350 阅读 · 0 评论 -
FFMPEG录屏(21)--- Linux 下基于X11枚举所有可见窗口,并获取标题、图标、缩略图、进程路径等信息
在 get_window_icon函数中,对于不同架构的不同实现是为了适应32位和64位架构下数据存储和处理方式的不同。在32位架构下,可以直接复制整个内存块,而在64位架构下,需要逐个元素处理,以确保数据的正确性。原创 2024-11-03 16:57:06 · 764 阅读 · 0 评论 -
FFMPEG录屏(20)--- 枚举macOS下的窗口和屏幕列表,并获取名称缩略图等信息
通过上述步骤,我们可以在 macOS 下获取当前系统中可屏幕共享的窗口和屏幕信息,包括窗口和屏幕的 ID、标题、坐标、进程图标和缩略图等信息。希望这篇文章对您有所帮助。traa。原创 2024-10-24 00:01:48 · 694 阅读 · 0 评论 -
FFMPEG录屏(19)--- 枚举Windows下的屏幕列表,并获取名称、缩略图
在Windows系统中,枚举显示器列表并获取它们的名称和缩略图是一个常见的需求。本文将详细介绍如何实现这一功能,涉及到的主要技术包括Windows API和C++编程。原创 2024-10-19 22:42:42 · 482 阅读 · 0 评论 -
FFMPEG录屏(18)--- 枚举Windows下的窗口列表并获取进程图标、标题、缩略图等
我们需要一些辅助函数来获取窗口属性、窗口文本、进程路径等。我们需要一个回调函数来处理每个被枚举到的窗口。if (!if (!!if (!!} else {!if (!通过上述步骤,我们可以在Windows系统中获取可进行屏幕共享捕获的窗口列表,并获取它们的图标和缩略图。这一过程涉及到Windows API的使用、窗口属性的获取、图标和缩略图的处理等多个方面。原创 2024-10-18 21:28:24 · 544 阅读 · 0 评论 -
FFMPEG录屏(17)--- 使用 DwmRegisterThumbnail 捕获指定窗口图像数据
通过 [] API,我们可以高效地捕获指定窗口的图像数据。本文介绍了如何检查 DWM 支持、注册缩略图、更新缩略图属性以及捕获窗口图像数据的完整过程。希望这篇文章对您有所帮助。原创 2024-10-16 13:56:29 · 800 阅读 · 0 评论 -
FFMPEG录屏(16)--- MAG(Magnification)捕获桌面,屏蔽指定窗口
我又不得不吐槽一下了,微软你做新API的时候,有考虑过开发人员的感受吗,不修BUG就不修呗,整个DXGI WGC,性能是有了,功能啥也不管,但凡你每一套API都兼顾基本要求,谁还研究各种老技术。原创 2023-05-17 01:01:40 · 1336 阅读 · 7 评论 -
FFMPEG录屏(15)---- WGC 捕获桌面(三) WGC(Windows Graphics Capture)采集
前两篇已经通过官网Demo对WGC采集方式进行了验证和扩展,现在开始正片~FFMPEG录屏(13)---- WGC 捕获桌面(一) 改造官网DemoFFMPEG录屏(14)---- WGC 捕获桌面(二) Copy数据到CPUNew Ways to do Screen CaptureWindows.UI.Composition-Win32-SamplesWebRtc WGC综上想要基于最新的捕获技术WindowsGraphicsCapture进行图像捕获有以下限制目前大多数项目和很多成熟项目中一般C+原创 2023-05-13 22:56:32 · 4191 阅读 · 6 评论 -
FFMPEG录屏(14)---- WGC 捕获桌面(二) Copy数据到CPU
为DEMO添加从GPU拷贝数据到CPU的功能原创 2023-03-15 23:50:06 · 1558 阅读 · 6 评论 -
FFMPEG录屏(13)---- WGC 捕获桌面(一) 改造官网Demo
使用新一代微软抓屏技术WGC进行桌面捕获原创 2023-03-02 23:43:53 · 1924 阅读 · 1 评论 -
FFMPEG录屏(12)---- DXGI 捕获桌面
最近增加了对Duplication API捕获桌面的支持,记录一下过程和其中遇到的问题。参考资料Desktop Duplication ApiAccquireNextFrameDXGI_OUTDUPL_POINTER_SHAPE_TYPE官方Demo吐槽DX这套接口是真的烦,真的烦,为了获取到duplication接口,你得初始化一堆东西啊啊啊啊啊啊啊!初始化的你眼花缭乱啊啊啊啊啊啊啊啊!准备工作避免系统中没有d3d依赖,所有d3d接口通过动态加载方式引入程序。准备一个简单的函数用来加载动原创 2020-06-02 12:27:11 · 8299 阅读 · 63 评论 -
FFMPEG录屏(11)---- aresample重采样pcm
本文利用ffmpeg中的filter对原创 2020-05-27 19:11:49 · 929 阅读 · 0 评论 -
FFMPEG录屏(10)---- 基于Electron的UI工程
EasyRecorder EasyRecorder is a cross-platform screen recorder which is written by node-js and depended on screen-recorder.GitHub:EasyRecorderScreenShotsFeaturesDifferent ways to record...原创 2020-03-05 10:18:50 · 2504 阅读 · 2 评论 -
FFMPEG录屏(9)---- AAC、H264合成MP4
在进行合成MP4之前请仔细阅读FFMpeg官方例子中的muxing.c文件,该文件通过生成测试数据合成MP4文件。并阅读如下文章对FFMpeg的时间基、时间戳,以及音视频同步原理进行理解。<Compute PTS and DTS correctly to sync audio and video ffmpeg C++><ffmpeg 2.3版本, 关于ffplay音视频同步...原创 2020-01-06 20:00:52 · 2573 阅读 · 4 评论 -
FFMPEG录屏(8)---- PCM压缩AAC
本篇将是合成mp4前的最后一次准备工作,在压缩AAC之前要叨逼叨逼一番。。。。在此之前请认真阅读如下两篇文章FFmpeg学习4:音频格式转换FFMPEG实现音频重采样PCM存储格式大体分为两种Planner和Packed我们以双声道为例,L表示左声道,R表示右声道,如下为两种格式的存储方式PlannerLLLLLLLL… RRRRRRRR…PackedLRLRLRLRLR...原创 2019-12-26 22:46:26 · 845 阅读 · 0 评论 -
FFMPEG录屏(7)----捕获桌面(GDI)
补充桌面捕获方法原创 2019-12-26 21:59:23 · 3411 阅读 · 9 评论 -
FFMPEG录屏(6)---- 获取音频设备列表(WASAPI)
继续使用WASAPI获取Windows系统音频设备列表获取默认扬声器或麦克风int device_audios::get_default(bool input, std::string & id, std::string & name){ com_initialize com_obj; Microsoft::WRL::ComPtr<IMMDeviceEnumer...原创 2019-12-26 19:22:35 · 2158 阅读 · 1 评论 -
FFMPEG录屏(5)---- 捕获扬声器和麦克风(基于WASAPI)
最近微软已经公布了对Windows7维护的截止时间,考虑到捕获基于dshow-capture的依赖还需要安装额外的软件,所以还是实现了基于Windows CoreAudio API的音频捕获以及GDI的桌面捕获。如下为微软官方给出的demo:CoreAudio Loopback RecordingCoreAudio Capturing a StreamGDI Capturing an Im...原创 2019-12-26 17:49:52 · 5462 阅读 · 4 评论 -
FFMPEG录屏(4)---- 声音混流
声音混流基于FFmpeg中的AVFilter,参考资料如下:最简单的基于FFmpeg的AVfilter的例子-纯净版ffmpeg filter学习--混音实现利用ffmpeg的filter混音混流实现利用FFMpeg的amix混音器实现了一个filter_audio类filter_audio.h#ifndef FILTER_AUDIO#define FILTER_...原创 2019-12-26 15:37:19 · 1216 阅读 · 0 评论 -
FFMPEG录屏(3)----捕获系统声音和麦克风
系统声音捕获方式同样有很多手段,老一点的WAVEAPI,WASAPI,portaudio等等,这里我们通过ffmpeg对virtual-audio-capturer进行捕获。首先安装,screen-capture,他会同时为你添加两个DSHOW设备,screen-capture-recorder和virtual-audio-capturer,其中前者是用于屏幕捕获,在第一篇中,将设备名直接修改...原创 2019-12-07 22:04:40 · 4003 阅读 · 0 评论 -
FFMPEG录屏(2)----压缩H264
在前一篇中,我们讲解了GID抓屏的整体流程,此时已经拿到了图像的原始数据BGRA,其他抓屏手段不管是Mirror Driver还是DX HOOK,得到的原始数据大都是此。在压缩之前不妨先了解一下H264的编码基础知识。雷神对于RGB YUV的讲解雷神对于H264的讲解FFMPEG视音频编解码零基础学习方法以上两篇可能不会那么详细,具体请自行搜索相关资料。在这里要提的一点是,一些...原创 2019-11-09 16:49:04 · 1368 阅读 · 7 评论 -
FFMPEG录屏(1)----录制桌面
首先录制桌面有很多种方法,原生windows api进行GDI抓屏,Mirror,Direct等,本文针对ffmpeg gdi抓屏进行介绍,也开始录屏软件开发之旅。准备ffmpeg,无所谓是动态库、静态库,请自行前往下载并引入工程。在本系列文章中,一些FFMPEG的结构、函数并不会做过多说明,请自行了解,重点放在了桌面录制的整体流程。参考资料:ffmpeg 源代码简单分析初始化...原创 2019-11-08 23:59:42 · 3884 阅读 · 6 评论