没有网就不能和女朋友开视频了?有Python在!没…
2018-07-16 02:50:22来源:博客园 阅读 ()
一日不见,可谓是如隔三秋!在学校,晚上十二点就会断网了!经常用流量又伤不起,毕竟一晚上可以和女票聊好久!所以就琢磨着弄个不用网也能视频聊天的东西来,经过小编半个月的研究!终于给弄出来了,总不能每天隔着窗子对着对面楼层喊吧!好了,下面就是干货。小编的私生活还是不能给大家透露太多!
3. 实验知识点
本课程项目完成过程中将学习:
- Python 基于 OpenCV 对摄像头信息的捕获和压缩
- Python 关于 线程 和 socket 通信的一些基础技巧
- Python 基于 PyAudio 对语音信息的捕获和压缩
其中将重点介绍 socket 传输过程中对数据的压缩和处理。
现在,我们的实验环境就搭好了。
三、实验原理
实验实现了简易的视频通信工具,基于 OpenCV 和 PyAudio,使用 TCP 协议通信,通信双方建立双向 CS 连接,双方均维护一个客户端和一个服务器端。在捕获视频信息后,根据用户指定的参数对画面做压缩并传输。
4.2 实现摄像头数据流捕获
OpenCV 为 Python 提供的接口非常简单并且易于理解。捕获视频流的任务应当由 Client 类完成,下面完善 Client 的 run 函数。在下面的代码中,我们为类添加了一个成员变量 cap ,它用来捕获默认摄像头的输出。
服务器端最终代码如下,增加了对接收到数据的解压缩处理。
4.5 加入音频的捕获和传输
在完成视频通信的基础上,整体框架对于音频通信可以直接挪用,只需要修改其中捕获视频/音频的代码和服务器解码播放的部分。这里我们使用 PyAudio 库处理音频,在 Linux 下你也可以选择 sounddevice 。关于 sounddevice 这里不做过多介绍,你可以在这里看到它最新版本的文档。将 vchat.py 复制一份,重命名为 achat.py ,简单修改几处,最终音频捕获、传输的完整代码如下。我将上面代码中的 Server 和 Client 分别加上 Video 和 Audio 前缀以区分,同时显示给用户的 print 输出语句也做了一定修改,对于视频加上 VIDEO 前缀,音频加上 AUDIO 前缀。如果你对代码中使用到的 PyAudio 提供的库函数有所疑问,可以在这里找到相关的入门文档及示例。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 用手机控制树莓派 2019-07-24
- django基础2 2019-06-13
- python爬虫利器,you-get,让天下没有难爬的网页 2019-05-22
- Sublime Text 执行后只有运行时间,没有执行结果!解决方法 2019-04-11
- 用Python监控你的女朋友/男朋友每天都在看哪些网站! 2019-03-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash