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

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

行业聚焦

卡罗拉双擎E+正式下线:一汽丰田首款新能源车型来了!

IT之家2月13日消息 来自一汽丰田官方消息,卡罗拉双擎E+已经与2月11日下午在丰田泰达工厂下线投产,据悉,这款新车将于今年的3月份正式上市销售。卡罗拉双擎E...[详细]

酷冷至尊全新V系列电源上架:金牌全模组,质保提升至10年

IT之家1月15日消息 酷冷至尊全新升级的V Gold系列电源现已上架京东,有550/650/750/850W四款,售价699元起,全部通过80Plus金牌认证...[详细]

官方泄露摩托罗拉Moto G7全系配置,2月7日发布

IT之家1月24日消息 摩托罗拉将于2月7日在巴西召开Moto G7系列新品发布活动,现在关于新机的秘密已经很少,今天摩托罗拉巴西官网曝光了整个Moto G7阵...[详细]

发力Wear OS和可穿戴:谷歌收购Fossil智能手表技术

IT之家1月18日消息 据外媒slashgear的新闻,谷歌宣布将从Fossil集团那里购买价值4000万美元的可穿戴设备相关技术,来自谷歌的Android W...[详细]

1199元,索尼WI

IT之家1月17日消息 索尼于本月初正式发布了颈挂式无线降噪耳机WI-C600N,主打降噪功能,采用磁性耳塞和硅质材料,更方便收纳佩戴。日前,索尼影音官方正式宣...[详细]

2018送彩金的娱乐平台

更多

微星卡皇RTX 2080 Ti Lightning Z上架:豪华碳纤维背板,18888元

 

IT之家1月22日消息 根据微星官方的消息,卡皇RTX 2080 Ti Lightning Z现已上架,售价高达1888...[详细]

亚马逊发布2018财年Q4财报:营收724亿美元,同比增长20%

 

北京时间2月1日消息,亚马逊公司(NASDAQ: AMZN)今天发布了截至12月31日的2018财年第四季度及全年财报。...[详细]

浙大牵头建世界最大超重力实验装置:一天模拟上千年

 

IT之家1月20日消息 据钱江晚报报道,日前,浙江大学牵头建设的国家重大亚美游基础设施超重力离心模拟与实验装置(简称CHI...[详细]

钉钉回应遭入侵传闻:系统并未也从未被“入侵”

 

IT之家2月1日消息 今天下午,钉钉发布《就近日不实谣言的澄清与声明》,表示钉钉系统并未也从未被“入侵”。钉钉在文章中指...[详细]

需求强劲,保时捷计划翻倍全电动跑车Taycan产能

 

IT之家1月22日消息 自保时捷于2015年底首次发布全电动汽车以来,保时捷Taycan的进度一直在稳步推进,这款电动跑...[详细]

一周排行每月关注