视频直播控制、桥接、流控、播控方法及客户端技术

技术编号:25193685 阅读:41 留言:0更新日期:2020-08-07 21:19
本发明专利技术涉及一种视频直播控制、桥接、流控、播控方法及客户端。该控制方法包括:运行在当前第一操作系统的用于模拟第二操作系统的运行环境的模拟程序启动直播程序时,建立直播程序与运行于第一操作系统中的流控程序的通信通道;直播程序启动预览模式后广播开播预览消息,模拟程序将该开播预览消息通知流控程序以触发其进入预览状态,使其开启预览窗口显示视频流;直播程序启动开播模式后,广播其所获取的用于接收所述视频流的云端地址消息,模拟程序将该云端地址消息通知给流控程序,以触发其进入开播状态,向云端地址传输所述的视频流。本发明专利技术能够避免程序人员为不同操作系统开发不同的直播程序,并能确保视频直播所采集的视频流的图像质量。

【技术实现步骤摘要】
视频直播控制、桥接、流控、播控方法及客户端
本专利技术涉及计算机系统通信技术,尤其涉及一种视频直播控制方法及相应的客户端,相应也涉及该控制方法执行期间相关的视频直接桥接方法、视频直播流控方法以及视频直播播控方法。
技术介绍
在一种操作系统中通过模拟器运行为另一操作系统开发的应用程序的技术虽然已经非常普遍,但在一些特殊的应用场景中,仍然存在很多技术障碍。一个非常普遍的场景中,在涉及到需要与云端交换大流量音视频数据的情况下,由于跨系统交互涉及到的一些效率问题,常出现不理想的情况。举例而言,最为基本的应用情况下,互联网视频直播平台在发布开播工具的时候,为了保证各个平台的主播都能覆盖到,通常会发布三个应用:PC开播应用、Android开播应用、IOS开播应用。这三个应用分别运行在windows系统的电脑上、Android手机上和苹果手机上。这三个应用的大部分业务功能完全相同,但由于这三个应用的开发语言和开发环境完全不同,就导致同一个业务场景,需要PC研发、Android研发、IOS研发分别开发一遍。并且在后期维护的过程中,也需要三个平台的研发对该应用分别进行维护,这样做就会造成不必要的人力浪费。在这种背景下,为了节省掉PC那一部分的工期,开发者会选择让主播端在PC上安装定制的模拟器,先在PC机器上建立起适合Android的App运行的环境,然后在模拟器里面安装Android开播工具,这样研发只需要开发Android开播应用,就可以满足PC、Android这两个平台的使用需求。这种方案虽然节省了PC研发的人力,但是也存在一些问题,实际运行中发现,由于开播预览页面并不是完全的PC端采集和显示,导致有一部分的机型会出现花屏、卡顿等问题,导致相应的直播间性能也非常的差,从而严重影响直播的用户体验。理论上,不局限于PC端的Windows操作系统和手机端的Android操作系统,只要涉及到在一个操作系统中运行为另一操作系统开发的应用程序,特别是涉及到如直播这种应用需求时,均可能遭遇相同或相似的情形。
技术实现思路
本专利技术出于避免重复开发的第一目的而提供一种视频直播控制方法、一种视频直播桥接方法、一种视频直播流控方法以及一种视频直播播控方法。本专利技术的第二目的在于提供一种客户端,以便为第一目的的和种方法实现硬件支持。为满足本专利技术的各个目的,本专利技术提供如下技术方案:本专利技术的一种视频直播控制方法,包括如下步骤:运行在当前第一操作系统的用于模拟第二操作系统的运行环境的模拟程序启动直播程序时,模拟程序建立运行于所述运行环境中的所述直播程序与运行于第一操作系统中的流控程序的通信通道;所述直播程序启动预览模式后,广播开播预览消息,模拟程序将该开播预览消息通知流控程序以触发其进入预览状态,使其开启预览窗口用于显示其所采集的视频流;所述直播程序启动开播模式后,广播其所获取的用于接收所述视频流的云端地址消息,模拟程序将该云端地址消息通知给流控程序,以触发其进入开播状态,使其向相应的云端地址传输所述的视频流。进一步的实施例中,本方法还包括如下步骤:直播程序关闭时,广播预览停播消息,模拟程序将该预览停播消息通知流控程序以触发其进入停播状态,停止向云端地址推送所述视频流。较佳的实施例中,所述通信通道包括直播程序与模拟程序之间的第一直接通道和所述模拟程序与所述流控程序之间的第二直接通道。部分实施例中,按照如下方式建立所述的第一直接通道:所述直播程序携带注册到所述模拟运行环境中的服务组件,所述模拟程序携带注册到所述模拟运行环境中的广播接收器,所述模拟程序通过该服务组件构建的服务进程向该直播程序传递所述流控程序产生的消息;所述模拟程序通过所述广播接收器接收所述直播程序广播的消息,将其传递给所述的流控程序。部分实施例中,按照如下方式建立所述的第二直接通道:所述模拟程序与所述流控程序之间通过彼此读写套接字或文件的方式建立所述的第二直接通道。较佳的实施例中,所述模拟程序与流控程序适于运行于当前第一操作系统,所述直播程序适于运行于区别于当前操作系统的第二操作系统,所述模拟程序适于在第一操作系统中模拟所述第二操作系统而为该直播程序创建相应的模拟运行环境。部分实施实施例中,所述第一操作系统为Windows或基于Linux、Unix的操作系统中的任意一种,所述第二操作系统为与第一操作系统相异的Android、IOS、Linux、Windows操作系统中的任意一种。较佳的实施例中,所述模拟程序建立所述通信通道的过程中,将直播程序代表其主进程的应用包名及代表其服务进程的服务名传递给所述流控程序,以供所述流控程序识别所述直播程序的主进程和服务进程以便确定消息传递身份。部分实施例中,所述流控程序进入预览状态时,开启用于控制其所采集的视频流的工具容器,该工具容器包括至少一个能够影响所述预览窗口的预览视频的特效的控件,作用于该控件而产生的消息通过所述通信通道传递给所述的直播程序。较佳的实施例中,所述流控程序进入停播状态时,关闭所述的预览窗口。本专利技术的一种视频直播桥接方法,包括如下步骤:创建区别于当前第一操作系统的第二操作系统模拟运行环境,供运行直播程序;建立所述直播程序到在当前第一操作系统中运行的流控程序之间的通信通道;经由所述的通信通道,转发所述直播程序广播的开播预览消息给所述流控程序,触发其进入预览状态以便预览其所采集的视频流;经由所述的通信通道,转发所述直播程序广播的云端地址消息给所述流控程序,触发其进入开播状态,以向所述云端地址推送所述的视频流。进一步的实施例中,本方法还包括如下步骤:经由所述的通信通道,转发所述直播程序广播的预览停播消息给所述流控程序,触发其进入停播状态,以结束所述视频流的推送。较佳的实施例中,所述通信通道包括由本方法所实现的模拟程序与直播程序之间的第一直接通道和所述模拟程序与所述流控程序之间的第二直接通道。部分实施例中,按照如下方式建立所述的第一直接通道:所述直播程序携带注册到所述模拟运行环境中的服务组件,所述模拟程序携带注册到所述模拟运行环境中的广播接收器,所述模拟程序通过该服务组件构建的服务进程向该直播程序传递所述流控程序产生的消息;所述模拟程序通过所述广播接收器接收所述直播程序广播的消息,将其传递给所述的流控程序。部分实施例中,按照如下方式建立所述的第二直接通道:所述模拟程序与所述流控程序之间通过彼此读写套接字或文件的方式建立所述的第二直接通道。较佳的实施例中,所述模拟程序建立所述通信通道的过程中,将直播程序代表其主进程的应用包名及代表其服务进程的服务名传递给所述流控程序,以供所述流控程序识别所述直播程序的主进程和服务进程以便确定消息传递身份。本专利技术的一种视频直播流控方法,包括如下步骤:接收用于提供第二操作系统的模拟运行环境的模拟程序转发的开播预览消息,启动预览窗口显示经由当前第一操作系统的底层驱动采集的视频流本文档来自技高网
...

【技术保护点】
1.一种视频直播控制方法,其特征在于,包括如下步骤:/n运行在当前第一操作系统的用于模拟第二操作系统的运行环境的模拟程序启动直播程序时,模拟程序建立运行于所述运行环境中的所述直播程序与运行于第一操作系统中的流控程序的通信通道;/n所述直播程序启动预览模式后,广播开播预览消息,模拟程序将该开播预览消息通知流控程序以触发其进入预览状态,使其开启预览窗口用于显示其所采集的视频流;/n所述直播程序启动开播模式后,广播其所获取的用于接收所述视频流的云端地址消息,模拟程序将该云端地址消息通知给流控程序,以触发其进入开播状态,使其向相应的云端地址传输所述的视频流。/n

【技术特征摘要】
1.一种视频直播控制方法,其特征在于,包括如下步骤:
运行在当前第一操作系统的用于模拟第二操作系统的运行环境的模拟程序启动直播程序时,模拟程序建立运行于所述运行环境中的所述直播程序与运行于第一操作系统中的流控程序的通信通道;
所述直播程序启动预览模式后,广播开播预览消息,模拟程序将该开播预览消息通知流控程序以触发其进入预览状态,使其开启预览窗口用于显示其所采集的视频流;
所述直播程序启动开播模式后,广播其所获取的用于接收所述视频流的云端地址消息,模拟程序将该云端地址消息通知给流控程序,以触发其进入开播状态,使其向相应的云端地址传输所述的视频流。


2.根据权利要求1所述的方法,其特征在于,还包括如下步骤:
直播程序关闭时,广播预览停播消息,模拟程序将该预览停播消息通知流控程序以触发其进入停播状态,停止向云端地址推送所述视频流。


3.根据权利要求1所述的方法,其特征在于,所述通信通道包括直播程序与模拟程序之间的第一直接通道和所述模拟程序与所述流控程序之间的第二直接通道。


4.根据权利要求3所述的方法,其特征在于,按照如下方式建立所述的第一直接通道:所述直播程序携带注册到所述模拟运行环境中的服务组件,所述模拟程序携带注册到所述模拟运行环境中的广播接收器,所述模拟程序通过该服务组件构建的服务进程向该直播程序传递所述流控程序产生的消息;所述模拟程序通过所述广播接收器接收所述直播程序广播的消息,将其传递给所述的流控程序。


5.根据权利要求3所述的方法,其特征在于,按照如下方式建立所述的第二直接通道:所述模拟程序与所述流控程序之间通过彼此读写套接字或文件的方式建立所述的第二直接通道。


6.根据权利要求1所述的方法,其特征在于,所述模拟程序与流控程序适于运行于当前第一操作系统,所述直播程序适于运行于区别于当前操作系统的第二操作系统,所述模拟程序适于在第一操作系统中模拟所述第二操作系统而为该直播程序创建相应的模拟运行环境。


7.根据权利要求6所述的方法,其特征在于,所述第一操作系统为Windows或基于Linux、Unix的操作系统中的任意一种,所述第二操作系统为与第一操作系统相异的Android、IOS、Linux、Windows操作系统中的任意一种。


8.根据权利要求1所述的方法,其特征在于,所述模拟程序建立所述通信通道的过程中,将直播程序代表其主进程的应用包名及代表其服务进程的服务名传递给所述流控程序,以供所述流控程序识别所述直播程序的主进程和服务进程以便确定消息传递身份。


9.根据权利要求1至8中任意一项所述的方法,其特征在于,所述流控程序进入预览状态时,开启用于控制其所采集的视频流的工具容器,该工具容器包括至少一个能够影响所述预览窗口的预览视频的特效的控件,作用于该控件而产生的消息通过所述通信通道传递给所述的直播程序。


10.根据权利要求2所述的方法,其特征在于,所述流控程序进入停播状态时,关闭所述的预览窗口。


11.一种视频直播桥接方法,其特征在于,包括如下步骤:
创建区别于当前第一操作系统的第二操作系统模拟运行环境,供运行直播程序;
建立所述直播程序到在当前第一操作系统中运行的流控程序之间的通信通道;
经由所述的通信通道,转发所述直播程序广播的开播预览消息给所述流控程序,触发其进入预览状态以便预览其所采集的视频流;
经由所述的通信通道,转发所述直播程序广播的云端地址消息给所述流控程序,触发其进入开播状态,以向所述云端地址推送所述的视频流。


12.根据权利要求11所述的方法,其特征在于,还包括如下步骤:
经由所述的通信通道,转发所述直播程序广播的预览停播消息给所述流控程序,触发其进入停播状态,以结束所述视频流的推送。


13.根据权利要求11所述的方法,其特征在于,所述通信通道包括由本方法所实现的模拟程序与直播程序之间...

【专利技术属性】
技术研发人员:王斐航林忠涛
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东;44

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

1