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播放效果

最新文章

  1. Mac下 Octave 中plot 无法绘制
  2. Scala入门之Array
  3. 【bzoj2286】 消耗战
  4. ubuntu 中增加鼠标右键菜单,为Windows 的exe 程序快速增加桌面快捷键
  5. 第七章 springboot + retrofit
  6. [IR] Probabilistic Model
  7. HDU 4899 Hero meet devil(状压DP)(2014 Multi-University Training Contest 4)
  8. Visual Studio个人常用快捷键
  9. (转载)PHP substr(),mb_substr()及mb_strcut的区别和用法
  10. apache 配置文件管理
  11. 在StatusBar中显示当前时间
  12. Android TV开发总结(六)构建一个TV app的直播节目实例
  13. MongoDB的ORM框架——Morphia
  14. Docker的基本操作与示例
  15. Json.net 反序列化 部分对象
  16. C#图解第七章:类和继承
  17. 浅谈Windows用户帐户控制(User Account Control,UAC)
  18. Maven 整理总结(一)
  19. jQuery中的跨域问题
  20. web 学习资源

热门文章

  1. 基于JPA的分页/排序实现
  2. Spring Data JPA的低级错误
  3. XML简述
  4. Mac 提示错误”xcrun: error“
  5. PHP的垃圾回收机制之引用计数
  6. Linux(CentOS7)下安装Mysql8数据库
  7. getResourceAsStream的路径问题
  8. 机器学习笔记7:矩阵分解Recommender.Matrix.Factorization
  9. Odoo XML中操作记录与函数
  10. reset.css文件下载及剖析