IT资讯
当前位置:智学网 > IT资讯 >  探索

视频直播:Windows中各类画面源的截取和合成方法

2018-10-08 09:28:48 信英IT网 编辑:琳达 浏览数:16智学网

信英IT网(http://www.xinlintouzi.com):视频直播:Windows中各类画面源的截取和合成方法  当今,视频直播技术和实时音视频技术已经是很多行业必备,典型的应用场景有教育直播、远程视频会议、互...

  当今,视频直播技术和实时音视频技术已经是很多行业必备,典型的应用场景有教育直播、远程视频会议、互联网娱乐等。在移动端发起直播,其画面源的种类是十分有限的,无非是取摄像头、截屏等。PC端由于其系统资源充足,应用程序丰富,画面源种类多样,更适合作为主播程序运行的平台。在实际应用中,经常有一些场景是需要将不同的画面源合在一起,然后推流出去的。本文介绍一些网易云信在开发过程中总结的一些获取不同画面源的画面并将其合并的方法。

  Windows下采集摄像头画面,DShow是最常用的方法之一。通过DShow采集摄像头数据,创建视频采集Filter,将其加入到图表IGraphBuilder中,用IMediaControl接口来控制流在Filter Graph中的流动,再通过Render来获取视频的原始数据。以上流程封装在了我们的SDK中,用户可以直接调用SDK接口。

  在Windows系统中,桌面和所有应用程序窗口一样,本身也是一个HWND窗口,因此可以放在一起讨论。获取一个窗口的位图数据,最常用的方法是:创建一个用来接收窗口画面的HBITMAP位图对象以及一个HDC设备上下文对象,用SelectObject将两者绑定,然后用BitBlt从被截取窗口的HDC将数据拷贝到目标HDC。下面列出关键代码:

  越来越多的程序的画面是在显存中的,此时,BitBlt和PrintWindow都不管用(得到的都是一块黑色的位图)。可以考虑用DirectX的方法。而且DirectX方法由于使用了GPU,所以相较前面两种方法效率更高。以下是DirectX截屏的代码:

  将本地图片(jpg、bmp、png、gif等格式)加载到内存,并取得其位图句柄或像素首地址的方法有很多种。这里列举几种最常见的。

  另一种方法是使用Windows API LoadImage来加载一个本地bmp图片得到HBITMAP句柄,但这种方法似乎只能加载位图文件(.bmp格式)。使用ATL的CImage只需要3行代码即可得到一个图片文件的HBITMAP句柄。

  主播常常希望同时将自己的摄像头画面和桌面内容或者某个程序的画面共享给观众,有时甚至需要同一时刻分享10个以上的画面源。这时候,需要将多个画面粘贴到一个目标画面上,我们称这个过程为画面合成。合成的画面通常还要支持改变各个画面的尺寸、等操作。这样一来,程序性能成了瓶颈问题。

  首先,对于各种画面源的截取应该尽量采用高效的方式,其次,画面的拉伸压缩是比较耗性能的地方。在1秒钟需要合成20帧画面的要求下,应该避免直接压缩HBITMAP,而是采用一些有加速的方案。

分享到:

版权与免责声明:

凡未注明"稿件来源"的内容均为转载稿,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:/news/2018/10/08/120036345.html

转载本站原创文章请注明来源:智学网

行业聚焦

联想S5 Pro配置怎么样 联想S5 Pro参数详解和真机图赏

今天下午,联想在北京举办新品发布会,在会上正式发布了全新的千元次旗舰新机---联想S5 Pro。该机在未发布之前就收到官方对此造势,感觉又是一款超高性价比手机,...[详细]

HP SSD EX900 M2评测:难逢敌手的入门级NVMe

信英IT网(http://www.xinlintouzi.com):HP SSD EX900 M2评测:难逢敌手的入门级NVMe  惠普早前已经为了NVMe S...[详细]

直击线下店痛点!热风用企业微信三步解决体验与效率困局

对于零售行业来说,服务质量难保证、企业管理效率低下是长久以来的难题。作为时尚零售行业代表之一,热风在全国80多个城市开设了近千家门店。在过去,门店取货慢、收银时...[详细]

股价大跌亚美游大佬受伤,贝索斯资产一天缩水91亿美元

10月11日消息,由于美国亚美游股大跌,电商巨头亚马逊的创建者兼首席执行官杰夫·贝索斯周三股市收盘时资产缩水91亿美元,净资产剩余1447亿美元。周三亚马逊的股票...[详细]

【IT之家评测室】魅族V8手机高配版评测:做工精致的入门良品

纵观现在的智能手机市场,除了苹果和三星之外,大部分的厂商还是要靠中低端手机走量赚钱的。如果只重视旗舰而不重视中低端,其后果究竟会怎样,相信HTC已经把答案告诉我...[详细]

2018送彩金的娱乐平台

更多

日产、雷诺、三菱汽车联盟将与谷歌合作搭载A

 

信英IT网(http://www.xinlintouzi.com):日产、雷诺、三菱汽车联盟将与谷歌合作搭载A  人民网...[详细]

微软Panos Panay暗示Surface Phone:口袋式Surface绝对是我的宝贝

 

IT之家10月4日消息 微软Surafce主管Panos Panay在10月新品发布会后暗示了可能即将推出的便携式Sur...[详细]

老贾和许家印这一仗,其实是FF“产前焦虑症”

 

曾经的乐视创始人贾跃亭,虽然脱离了乐视的堡垒,但依然处于风口浪尖,每一次的动作都能在业界刮起一阵不寻常的风暴,而这一次,...[详细]

微信公众号怎么搜索历史文章?查看历史消息方法

 

最近有粉丝朋友在“电脑百事网”公众号中留言问到了这样一个问题:“之前在这个公众号看到...[详细]

美军脑机接口技术突破,单人同时操控三架无人机作战

 

9月20日消息,美国军方正试图让士兵们更容易地远距离作战。随着无人机战争的不断涌现,飞行员已经首次能够坐在美国的办公室,...[详细]

一周排行每月关注