DesktopSharing<转>
https://github.com/PHZ76/DesktopSharing/tree/e1543975576e6c4fc5c2404b2f4c9c99c0350bd3
git:https://github.com/PHZ76/DesktopSharing.git
===================================================
DesktopSharing
项目介绍
- 抓取屏幕和麦克风的音视频数据,编码后进行RTSP转发, RTSP推流, RTMP推流。
目前情况
- 完成屏幕采集和H.264编码。
- 完成音频采集和AAC编码。
- 完成RTSP本地转发音视频数据。
- 完成RTSP推流到流媒体服务器EasyDarwin。
- 完成RTMP推流到流媒体服务器SRS。
后续计划
- 增加硬件编码
- 增加声卡音频捕获
- RTMP转发
编译环境
- win10, vs2017, windows-sdk-version-10.0.17134.0
- 项目使用的模块都是开源项目, 在vs2017下编译通过。
设计思路

库文件说明
- 屏幕采集: 使用开源项目 screen_capture,因为抓屏使用了DXGI技术, 所以项目只适合运行在win8以上的系统。
- 音频采集: 使用开源项目 portaudio。
- 编码器, RTMP推流器: 使用开源项目 ffmpeg4.0,ffmpeg的dll文件太大,请到官网下载(4.0版本)。
- RTSP服务器,推流器: RtspServer。
VLC播放效果

DesktopSharing<转>的更多相关文章
- ubuntu windows mutual remote control
Win10 remote control Ubuntu18 Part1.ubuntu settings 1.安装所需组件 sudo apt-get update //若没有desktop sharin ...
随机推荐
- 《JavaScript高级程序设计》笔记:高级技巧
高级函数 安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串.每个类在内部都有一个[[Cla ...
- Java 之 异常的处理
Java 异常处理的五个关键字:try.catch.finally.throws.throw 一.捕获异常 try...catch 如果异常出现的话,会立刻终止程序,所以我们得处理异常. try... ...
- Nginx学习(二)
------------恢复内容开始------------ Nginx配置文件 主配置文件结构:四部分 main block:主配置段,既全局配置段,对Http,mail都有效 event{ }事件 ...
- fiddler模拟弱网测试
1.首先设置手机代理 设置手机代理到本机ip,端口号8888(Fiddler默认设置): 手机访问http://ip:port安装Fiddler证书 2.修改fiddler配置 勾选上后,已经开始限速 ...
- IDEA 创建类是自动添加注释和创建方法时快速添加注释
1.创建类是自动添加注释 /*** @Author: chiyl* @DateTime: ${DATE} ${TIME}* @Description: TODO*/2. 创建方法时快速添加注释2.1 ...
- springboot java.awt.AWTException: headless environment
修改启动类即可 @SpringBootApplicationpublic class SystemctlApplication { public static void main(String[] a ...
- mysql-mysqldump
备份(导出)所有数据库的数据和结构(注意:这种方式备份,还原时,无需先创建数据库,可直接导入) mysqldump -u root -p 'password' --all-databases > ...
- 201671030107 胡文艳 实验十四 团队项目评审&课程项目总结
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 1.掌握软件项目评审会议流程 ...
- 项目Beta冲刺(团队)——用户试用调查报告
项目Beta冲刺(团队)--用户试用调查报告 格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺(团队) 团队名称:为了交项目干杯 作业目标:针对相应版本展开用户试用,完 ...
- 【Linux】linux ln文件夹的链接(转)
1 文件的链接ln -s a.py b.pya.py 软链接到b.py (无论 b.py 文件存在与否 都可以成功)2 文件夹的链接ln -s a ba文件夹软链接到b文件夹(b文件夹不能提前创建) ...