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 ...
随机推荐
- 22、vue实现随机四位数验证码
效果图: 1.新建生成验证码的组件Sidentify.vue(代码如下): <template> <div class="s-canvas"> <ca ...
- ES6的新特性
ECMAScript 6(简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,又称ECMAScript 2015.ES6就是ES2015. 虽然目前并不是所有 ...
- Ansible-ansible命令
Ansible是用于执行"远程操作"的简单工具.该命令允许针对一组主机定义并运行单个任务剧本. 常用选项 说明 --ask-vault-pass 请求保险库密码 --become- ...
- “GIS DICTIONARY A-Z” 查询页面开发(3)—— 基础知识之服务器、IP地址、域名、DNS、端口以及Web程序的访问流程
今天补一补基础知识: 一.服务器:能够提供服务的机器,取决于机器上安装的软件(服务软件).服务器响应服务请求,并进行处理. Web服务器:提供Web服务,即网站访问.常见Web服务软件:Apache( ...
- pyqt5--TableWidGet
使用pyqt5展示excel的数据到桌面,并获取选中的数据内容 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import Q ...
- python调用C语言接口
python调用C语言接口 注:本文所有示例介绍基于linux平台 在底层开发中,一般是使用C或者C++,但是有时候为了开发效率或者在写测试脚本的时候,会经常使用到python,所以这就涉及到一个问题 ...
- Httpd服务进阶知识-LAMP架构概述
Httpd服务进阶知识-LAMP架构概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.LAMP架构概述 1>.什么是LAM(M)P架构 L: linux A: apa ...
- The 2016 ACM-ICPC Asia China-Final D. Ice Cream Tower 二分 + 贪心
题目大意: 对于给出的n个冰激凌球的大小,满足下面的球的大小是上一个的至少2倍,对于给出的k(由k的冰激凌球才能算作一个冰激凌塔),问n个冰激凌球可以最多堆出多少个高度为k的冰激凌塔 题目分析: 对于 ...
- 矩阵LU分解程序实现(Matlab)
n=4;%确定需要LU分解的矩阵维数 %A=zeros(n,n); L=eye(n,n);P=eye(n,n);U=zeros(n,n);%初始化矩阵 tempU=zeros(1,n);tempP=z ...
- 伪分布式下Hadoop3.0打不开localhost:50070
伪分布式下Hadoop打不开localhost:50070,可以打开localhost:8088 1.对hdfs进行format hadoop namenode -format 在选择Y/N时输入大写 ...