一种推流的方法及装置制造方法及图纸

技术编号:20050220 阅读:38 留言:0更新日期:2019-01-09 05:57
本发明专利技术公开了一种推流的方法及装置,所述方法包括:终端根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头;将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区;获取每个虚拟摄像头缓冲区的写入地址,将本地缓存的对应视频文件写入到对应的缓冲区,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放;这样既可以推送本地缓存的视频文件,又不需要复杂的推流配置操作,可以极大地满足人们想要将终端本地缓存的视频文件推流出去的需求。

【技术实现步骤摘要】
一种推流的方法及装置
本专利技术涉及推流
,尤其涉及一种推流的方法及装置。
技术介绍
如今,直播已成为一项比较热门的活动。人们经常将终端摄像头实时采集的视频文件通过直播平台进行网上直播。直播只是推流的一小部分。在实际生活中,人们利用终端直播视频文件有局限性,比如直播只能播放摄像头实时采集的视频文件。终端中不仅有摄像头实时采集的视频文件,可能还会有缓存在本地的视频文件,这些视频文件可能是其他的设备传输给终端的,如果终端需要将本地保存的视频文件推送出去,必须通过非专业人员难以理解的推流配置操作,将该视频文件推到各自的私有云服务器,才能播放该视频文件,但这种方法满足不了人们想要将终端本地缓存的视频文件推送出去的需求。然而,如何满足人们想要将终端本地缓存的视频文件推送出去的需求,现有技术中没有相应的技术方案。
技术实现思路
本专利技术实施例提供了一种推流的方法及装置,用以满足人们想要将终端本地缓存的视频文件推送出去的需求。本专利技术实施例提供了一种推流的方法,所述方法包括:终端根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头;将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区;获取每个虚拟摄像头缓冲区的写入地址,将本地缓存的对应视频文件写入到对应的缓冲区,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放。进一步地,其中每个虚拟摄像头在内核空间的内存中创建缓冲区,所述每个虚拟摄像头创建对应的缓冲区之后,所述方法还包括:将在内核空间的每个缓冲区分别映射到用户空间。进一步地,所述每个虚拟摄像头创建的缓冲区的大小是根据自身配置的分辨率及预设数量的视频帧确定的。进一步地,所述本地缓存的对应视频文件包括其他设备从视频传输接口传输给所述终端之后缓存的和/或所述终端自身录制并缓存的。进一步地,所述视频传输接口包括WIFI接口、USB接口、高清晰度多媒体HDMI接口。进一步地,所述通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放包括:通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到直播平台,通过该直播平台进行播放;或,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到相机应用程序,通过该相机应用程序进行播放。进一步地,所述通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到直播平台包括:通过虚拟摄像头将自身对应的缓冲区读取写入的视频文件,发送到虚拟摄像头驱动;通过虚拟摄像头驱动将读取的视频文件发送给与直播平台对应的应用程序,通过所述应用程序发送到直播平台。进一步地,所述通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到直播平台包括:当存在多个虚拟摄像头时,所述应用程序按照设定的分屏模式,分屏显示从每个虚拟摄像头读取的视频文件。本专利技术实施例提供了一种推流的装置,所述装置包括:启动模块,用于根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头;配置模块,用于将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区;推流模块,用于获取每个虚拟摄像头缓冲区的写入地址,将本地缓存的对应视频文件写入到对应的缓冲区,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放。进一步地,所述装置还包括:映射模块,用于如果每个虚拟摄像头在内核空间的内存中创建缓冲区时,将在内核空间的每个缓冲区分别映射到用户空间。进一步地,所述推流模块,具体用于通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到直播平台,通过该直播平台进行播放;或,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到相机应用程序,通过该相机应用程序进行播放。进一步地,所述推流模块,具体用于通过虚拟摄像头将自身对应的缓冲区读取写入的视频文件,发送到虚拟摄像头驱动;通过虚拟摄像头驱动将读取的视频文件发送给与直播平台对应的应用程序,通过所述应用程序发送到直播平台。进一步地,所述推流模块,具体用于当存在多个虚拟摄像头时,所述应用程序按照设定的分屏模式,分屏显示每个虚拟摄像头读取的视频文件。本专利技术实施例提供了一种推流的方法及装置,所述方法包括:终端根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头;将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区;获取每个虚拟摄像头缓冲区的写入地址,将本地缓存的对应视频文件写入到对应的缓冲区,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放。由于本专利技术实施例中终端创建虚拟摄像头,并将待直播的视频文件写入到摄像头对应的缓冲区,从而将缓冲区中的视频文件进行播放,这样既可以推流本地缓存的视频文件,又不需要复杂的推流配置操作,可以极大地满足人们想要将终端本地缓存的视频文件推送出去的需求。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例1提供的一种推流的方法流程图;图2为本专利技术实施例5提供的一种虚拟摄像头系统的构架图;图3为本专利技术实施例5提供的一种推流的方法流程图;图4为本专利技术实施例7提供的一种推流装置的结构示意图。具体实施方式下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。实施例1:图1为本专利技术实施例提供的一种推流的方法流程图,如图1所示,所述方法包括:S101:终端根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头。本专利技术实施例提供的该方法适用于终端,终端可以是专业的推流设备,也可以是常见的智能终端,如手机、电脑等设备。在实际生活中,绝大部分人使用的终端的操作系统为Android系统,且现在流行的视频直播APP大多也都是基于Android系统的,再加之Android系统是基于Linux内核的操作系统,为了减少研发人员的研发成本,保留终端中原有的Android系统框架,本专利技术实施例可以在Linux系统的内核层创建虚拟摄像头。具体的该方法应用于终端中的推流应用程序,虚拟摄像头的数量可以是人们通过终端上推流应用程序的配置页面进行配置的,具体的数量可以根据推流的数量来决定,即需要推送几个视频文件,则设置几个虚拟摄像头。其中,为了更好地创建并启动虚拟摄像头,该推流应用程序可以是研发人员根据实际情况在Linux下的V4L2的框架中应用层创建的,其中V4L2框架是针对UVC(USBvideoclass,USB视频捕获设备定义的协议标准)免去USB设备的编程框架。推流应用程序被启动后,可以根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头,以便于后续操作。S102:将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区。上述启动的虚拟摄像头相当于一个视频文件发生器,可以将本地缓存的视频文件进行播放,这相当于本地缓存的视频文件是由虚拟摄像头录制产生后进本文档来自技高网...

【技术保护点】
1.一种推流的方法,其特征在于,所述方法包括:终端根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头;将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区;获取每个虚拟摄像头缓冲区的写入地址,将本地缓存的对应视频文件写入到对应的缓冲区,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放。

【技术特征摘要】
1.一种推流的方法,其特征在于,所述方法包括:终端根据预先配置的摄像头的数量,启动对应数量的虚拟摄像头;将获取的每个虚拟摄像头的分辨率配置到对应的虚拟摄像头,使每个虚拟摄像头创建对应的缓冲区;获取每个虚拟摄像头缓冲区的写入地址,将本地缓存的对应视频文件写入到对应的缓冲区,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放。2.如权利要求1所述的方法,其特征在于,其中每个虚拟摄像头在内核空间的内存中创建缓冲区,所述每个虚拟摄像头创建对应的缓冲区之后,所述方法还包括:将在内核空间的每个缓冲区分别映射到用户空间。3.如权利要求1所述的方法,其特征在于,所述每个虚拟摄像头创建的缓冲区的大小是根据自身配置的分辨率及预设的视频帧率确定的。4.如权利要求1所述的方法,其特征在于,所述本地缓存的对应视频文件包括其他设备从视频传输接口传输给所述终端之后缓存的和/或所述终端自身录制并缓存的。5.如权利要求4所述的方法,其特征在于,所述视频传输接口包括WIFI接口、USB接口、高清晰度多媒体HDMI接口。6.如权利要求1所述的方法,其特征在于,所述通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件进行播放包括:通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到直播平台,通过该直播平台进行播放;或,通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到相机应用程序,通过相机应用程序进行播放。7.如权利要求6所述的方法,其特征在于,所述通过每个虚拟摄像头从自身对应的缓冲区读取写入的视频文件发送到直播平台包括:通过虚拟摄像头将自身对应的缓冲区读取写入的视频文件,发送到虚拟摄像头驱动;通过虚拟摄像头驱动将读取的视频文件发送给与直播平台对...

【专利技术属性】
技术研发人员:肖扬方彬浩陈炳锐
申请(专利权)人:京信通信系统中国有限公司京信通信系统广州有限公司京信通信技术广州有限公司天津京信通信系统有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1