Windows 下媒体相关的 sdk,包含音频的枚举,视频的采集、渲染、编解码,以及屏幕的采集,本地日志等内容
音频设备枚举
摄像头的枚举和采集分别使用了 dshow 和 media foundation 两种
摄像头枚举
摄像头采集渲染
编码使用了 x264,x265,FFmpeg,OpenH264,QSV
解码使用了 FFmpeg,QSV(目前还在调试中) 两种
渲染使用了 D3D9,SDL2,OpenGL
屏幕采集使用了 DXGI,GDI,以及 Magnification(包含 HOOK)
窗口枚举
屏幕采集默认会将数据存在本地,如果要通过网络发送先点击网络发送,然后填上对端的 ip 地址(先启动 server 端),连接成功之后点击屏幕共享进行共享
首先先要启动服务,表示启动一个 socket server
每一个模块都有单独的 demo,另外还有两个总的 demo,分别是 media_sdk_demo 作为发送端,media_server_demo 作为接收端
git clone https://github.com/yangpan4485/WindowsMediaSDK.git
cd WindowsMediaSDK
md build
cd build
cmake ..
然后打开 media_sdk.sln 编译
接收端
1、将 media_server_demo 设为启动项目
2、点击启动服务,启动 socket server
3、接下来启动发送端
发送端
1、将 media_sdk_demo 设为启动项目
2、点击网络发送,输入服务端的 ip 地址,然后开始连接
3、点击屏幕共享,选择要分享的内容进行共享,目前只对屏幕共享进行发送
如果编译出现文件路径找不到的问题,需要自己处理