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 ...
随机推荐
- Vue学习之过滤器和自定义指令小结(三)
过滤器: 过滤是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰.过滤器就是过滤用的工具.渲染数据用的!!! 我们需要知道的是: 1.Vue中的过滤器不能 ...
- idea注释类,方法
1.添加类注释:file-settings-file and code Templates-Class #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ...
- Idea中SpringBoot引入thymeleaf没有提示
问题描述: 最近使用Idea搭建SpringBoot时,用到了 thymeleaf,但是出现了点问题:输入th: 代码有没有提示. 解决方法: <html lang="en" ...
- Spring 创建Bean的6种方式
前言 本文讲解了在Spring 应用中创建Bean的多种方式,包括自动创建,以及手动创建注入方式,实际开发中可以根据业务场景选择合适的方案. 方式1: 使用Spring XML方式配置,该方式用于在纯 ...
- JVM 入门指南
一.什么是JVM? JVM: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机.JVM 可以看作一台抽象的计算机,如同真实的计算机一样,它有自己的指令集和各种运行时区域 ...
- GeoGebra 代数输入的提示和技巧
GeoGebra是Mac平台上一款自由且跨平台的动态数学软件,提供各级教育使用,包含了几何.代数.表格.图形.统计和微积分,集中在一个容易使用的软件. 确认表达式 始终按 Enter 键确认您 ...
- python的一些包安装
Linux下pip 的安装方法: 使用get-pip.py安装 要安装pip,请安全下载get-pip.py.1: curl https://bootstrap.pypa.io/get-pip.py ...
- JavaFX 井字棋游戏
利用JavaFX设计一个井字棋游戏,其中包括了能够与玩家对战的AI.AI的实现相比五子棋来说要简单得多,可以保证AI在后手情况下绝对不会输,具体实现如下: /* * To change this li ...
- 缺jar包异常:java.lang.NoClassDefFoundError: org/springframework/core/convert/support/PropertyTypeDescriptor
严重: StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/springframework/core/convert/suppo ...
- python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习
列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...