# windows-screen-master **Repository Path**: cnull_project/windows-screen-master ## Basic Information - **Project Name**: windows-screen-master - **Description**: windows下屏幕分享例子,包括录制屏幕到本地的功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-07-27 - **Last Updated**: 2022-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 快速开始 点击release文件夹下屏幕分享例程.exe,然后访问 http://127.0.0.1:8000 即可看到如下,在release目录下可看到录屏文件save.h264(使用vlc播放器等即可播放,或使用ffmpeg转码) ![20190325145758](./pic/20190325145758.jpg) ### 介绍 该程序实现windows的录屏,投屏功能。 - 屏幕复制 连接到同一个局域网,查看本机ip,然后使用其他设备访问。例如,我的本机ip是192.168.253.1,所以我的平板访问192.168.253.1:8000 ![1553494000066](./pic/1553494000066.jpg) - 拓展屏投屏 拓展屏是使用一款软件开启的一个虚拟屏幕 ![1553494228778](./pic/1553494228778.jpg) - 屏幕录制 使用ffmpeg开发库,录制的视频编码格式可指定为h264或者mpeg,会在本地生成文件,使用vlc播放器即可播放,或者使用 `ffmpeg -i save.h264 -codec copy save.mp4` 命令转换为mp4格式。 - SDL播放器播放测试 SDL为windows下的一个播放器,实现实时查看录制的内容。 ![1553494687354](./pic/1553494687354.png) ### 编译环境 VS2017 + ffmpeg 其中我已经提供了x86平台下的ffmpeg开发库。 ### TODO - 浏览器上使用javascript库播放h264/mpeg视频流(试过几个库,例如Broadway库,出现花屏等情况,不知道是哪方面出问题) - rtsp推流(试过用nginx来推流,效果不是特别好,不知道怎么优化,所以没把代码放上) ### 代码介绍 - MonitorMaster.cpp 枚举显示器,查看显示器的一些信息 - SDLMaster.cpp 封装一个简单的SDL播放器 - ffmpegEncoder.cpp 使用ffmpeg库实现mpeg和x264视频编码的功能 - libx264Master.cpp 使用libx264库实现x264视频编码 - web_stream.cpp 实现一个简单的web服务器,该服务器传输照片流形成视频(目前视频流还没有做好,因为找不到一款合适的javascript编码解码工具)