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

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

行业聚焦

女子酒驾后发朋友圈"炫耀" ,遭好友截图举报被抓

IT之家1月29日消息 IT之家友情提示,酒驾之事万万不可,害人害己。据南方都市报消息,近日,一名女司机在酒驾后发朋友圈“炫耀”,被好友截图举报。广州交警接到举...[详细]

Win10四月更新获累积更新KB4487017 升至Build 17134.590

在本月的补丁星期二活动日上,Windows 10四月更新(Veion 1803)获得了KB4487017累积更新,升级后最新版本号为Build 17134.5...[详细]

迅雷电影,给影迷一个发挥的平台

  一到过年,朋友圈各种拉票活动特别多,无外乎各种“最受欢迎”榜单评选,各种砍价点赞拼优惠,有意义的票选活动并不多。但昨天,同事发给我的活动却给我留下了非常深刻...[详细]

最风骚的Win10 Bug:一个像素逼死强迫症

Windows 10 v1809(十月更新)是微软历史上Bug最多的系统更新版本,这一点不接受辩驳,而且很多Bug都莫名其妙,直让人怀疑堂堂微软怎么会犯这么多低...[详细]

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

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

2018送彩金的娱乐平台

更多

乐视:奉劝韬蕴资本正视易到管理问题,不要无耻甩锅

 

IT之家1月28日消息 今日,乐视控股发布声明,称易到控股股东韬蕴资本近期发布多篇官方声明,将易到公司运营中出现的问题再...[详细]

谷歌AlphaStar新AI参加《星际争霸2》对战,10比1击败职业选手

 

IT之家1月25日消息 据9to5Google消息,今日凌晨,谷歌DeepMind与暴雪进行了联合直播,展开了一场《星际...[详细]

surfacepro电脑应该如何样 surfacepro电脑性能评测

 

  现如今社会上的电脑的外观设计都是大同小异,而现在的人们更追求个性化,特色化,社会上的传统电脑已经满足不了人们的需要,...[详细]

如何选购光追笔记本? 一篇文章汇总各大品牌笔记本配置/价格全面对比

 

1月29日,黄仁勋在CES 2019上宣布的“40款“光追笔记本正式上市,在移动端设备上实现了光线追踪。相信现在还有很多...[详细]

(更新)路透社:腾讯拟竞购《DNF》开发商Nexon股权

 

(15:07更新:腾讯回应称“不予置评”)IT之家1月24日消息 IT之家曾于本月初报道了,Nexon创始人、NXC首席...[详细]

一周排行每月关注