• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > videocapture库制作python视频高速传输程序

videocapture库制作python视频高速传输程序

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python videocapture,videocapture,videocapture类,videocapture摄像头,opencv videocapture等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1,首先是视频数据[摄像头图像]的采集,通常可以使用vfw在vc或者vb下实现,这个库我用的不好,所以一直不怎么会用.现在我们用到的是python的videocapture库,这个库用起来很简单,如下:

这样,你就得到了一张图片.
当然,要实现比较高速的采集,每次都要保存图片是不大可能的,这样弄下来每次采集一张图片已经接近1秒钟,这个速度我们是无法忍受的.
更好的解决方式是直接这样: im = cam.getImage(),返回的是一个Image对象,是一个内存块,对它操作就快速多了.
2,如何传输图片?我不知道pplive这种视频是怎么传输的,我的想法很简单,每次传送一幅图片.
在本程序中,每次传送的RGB图像的大小为 160*120.这样,需要的数据量为:d = 160*120*3 = 56.25 kB
我选择80000B.
下面是发送端代码:

3,如何实时显示图片?
我使用了pygame作为实时图像显示界面,因为pygame是经过优化的高速图形库,不知道有没有使用directshow,我想应该用了吧..
关于pygame请参考 www.pygame.org
下面是接收端代码:

pygame.init()
screen = pygame.display.set_mode((160,120))
pygame.display.set_caption("web cam")

pygame.display.flip()
svrsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
svrsocket.bind(("127.0.0.1", 1234))
clock = pygame.time.Clock()    #计算帧速
while 1:
    data, address = svrsocket.recvfrom(80000)
    camshot = pygame.image.frombuffer(data, (160,120), "RGB")
    for event in pygame.event.get():
            if event.type == pygame.QUIT: sys.exit()
    screen.blit(camshot, (0,0))
    pygame.display.update()
    print clock.get_fps()     #在终端打印帧速
    clock.tick()
</div>

程序终于完成了,测试一下效果怎么样把,为了方便,我把客户端和服务端都设成了本机,端口为1234.
运行程序,哇,简直不可思议,最高竟然达到230fps!(右边的终端)


</div>

您可能想查找下面的文章:

  • videocapture库制作python视频高速传输程序
  • videocapture库制作python视频高速传输程序

相关文章

  • Python使用urllib2模块抓取HTML页面资源的实例分享
  • 更改Python命令行交互提示符的方法
  • python中readline判断文件读取结束的方法
  • 详解Python程序与服务器连接的WSGI接口
  • Python编程中的异常处理教程
  • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
  • Python 类的继承实例详解
  • Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
  • python rsa 加密解密
  • python实现的用于搜索文件并进行内容替换的类实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python中内置数据类型list,tuple,dict,set的区别和用法
    • python 安装virtualenv和virtualenvwrapper的方法
    • 用python实现面向对像的ASP程序实例
    • 一些Python中的二维数组的操作方法
    • Python中的map()函数和reduce()函数的用法
    • Python3 入门教程 简单但比较不错
    • 使用PYTHON创建XML文档
    • python清除字符串里非数字字符的方法
    • python获取本机mac地址和ip地址的方法
    • 将Python代码打包为jar软件的简单方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有