CN110740386B - 直播切换方法、装置及存储介质 - Google Patents

直播切换方法、装置及存储介质 Download PDF

Info

Publication number
CN110740386B
CN110740386B CN201810788597.9A CN201810788597A CN110740386B CN 110740386 B CN110740386 B CN 110740386B CN 201810788597 A CN201810788597 A CN 201810788597A CN 110740386 B CN110740386 B CN 110740386B
Authority
CN
China
Prior art keywords
live broadcast
live
item
broadcast
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810788597.9A
Other languages
English (en)
Other versions
CN110740386A (zh
Inventor
罗巧龙
马利军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810788597.9A priority Critical patent/CN110740386B/zh
Publication of CN110740386A publication Critical patent/CN110740386A/zh
Application granted granted Critical
Publication of CN110740386B publication Critical patent/CN110740386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

本申请公开了一种直播切换方法,包括:读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息;当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的的直播项对应的媒体数据,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项。本申请还公开了相应的装置及存储介质。

Description

直播切换方法、装置及存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种直播切换方法、装置及存储介质。
背景技术
随着直播行业的崛起,大型线上直播活动也越来越多,直播行业渐渐出现各种新玩法,诸如24小时在线的电视剧频道,如Now直播电影频道、电视剧频道,多机位的表演性直播,带广告推荐/切换的文艺性直播等,长时间的在线直播,多媒体源的来回切换,使得直播的硬件设备成本及人力维护成本大大提高。
发明内容
本申请实例提供了一种直播切换方法,包括:读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息;当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项。
本申请实例提供了一种直播切换装置,包括:读取模块,读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息;获取模块,当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据;上传及切换模块,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项。
本申请实例还提供了一种存储介质,存储有计算机可读指令,可以使至少一个处理器执行上述方法。
采用上述技术方案,可以实现所述直播列表中各直播项的自动无缝切换,无需导播和导播台,节省了终端设备运行的系统及网络资源,提高了终端设备的运行性能。
附图说明
为了更清楚地说明本申请实例中的技术方案,下面将对实例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一些实例涉及的一种系统构架示意图;
图2是本申请一些实例提供的直播切换方法的流程图;
图3A和3B是本申请另一些实例提供的直播切换方法的流程图;
图4是本申请一些实例涉及的用户界面示意图;
图5是本申请一些实例涉及的用户界面示意图;
图6是本申请一些实例涉及的用户界面示意图;
图7为本申请一些实例提供的直播切换方法的消息交互图;
图8是本申请一些实例提供的装置结构示意图;及
图9是本申请一些实例提供的设备结构示意图。
具体实施方式
下面将结合本申请实例中的附图,对本申请实例中的技术方案进行清楚、完整地描述,显然,所描述的实例仅是本申请一部分实例,而不是全部的实例。基于本申请中的实例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本申请保护的范围。
本申请提出了一种直播切换方法、装置及存储介质,该方法可应用于图1所示的系统构架中。
如图1所示,社交网络平台提供商102提供直播服务器110。该直播服务器110通过一个或多个网络106,向多个用户提供社交网络服务(例如,用户注册、消息、视频的生成、消息的传输、视频的传输、聊天会话的生成、在线发布和其他在线社交互动),其中所述多个用户分别操作他们各自的用户设备104(例如,用户设备104a-c)。
在一些实施例中,每个用户通过在用户设备104上执行的应用客户端108(例如,应用客户端108a-c)连接至直播服务器110,从而与另一用户交互。直播服务器110通过用户各自的用户标识(诸如,用户名、昵称或账户标识)来识别网络中的用户。
在一些实施例中,用户可以通过与直播服务器110的应用客户端108提供的用户界面交互来触发一个特定的服务。例如,用户可以打开直播程序,录制直播视频或观看直播视频。
如图1所示,每一个用户可以使用相应的应用客户端108与其他用户交互。在一些实施例中,应用客户端108向用户提供用户界面元素(例如,文本框、按钮、窗口、视频显示区域等),以调用特定的社交网络服务,诸如,将内容发布至在线留言板,发送弹幕,打赏等。
在一些实例中,应用客户端108可以为直播场景中的推流客户端,其中,推流客户端为直播场景中发送直播视频流的客户端,即直播场景中发送直播的客户端,例如,直播场景中的直播人员使用的客户端,该推流客户端可以为直播APP,通过权限审核的直播人员利用该直播APP录制视频,发送直播。此外,用户通过直播APP还可以观看直播。
用户设备104的示例包括但不限于掌上型计算机、可穿戴计算设备、个人数字助理(PDA)、平板计算机、笔记本电脑、台式计算机、移动电话、智能手机、增强型通用分组无线业务(EGPRS)移动电话、媒体播放器、导航设备、游戏控制台、电视机、或任意两个或更多的这些数据处理设备或其他数据处理设备的组合。
一个或多个网络106的示例包括局域网(LAN)和广域网(WAN)诸如互联网。可选地,可以使用任意公知的网络协议来实现一个或多个网络106,包括各种有线或无线协议,诸如,以太网、通用串行总线(USB)、FIREWIRE、全球移动通讯系统(GSM)、增强数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、WiFi、IP语音(VoIP),Wi-MAX,或任意其他适合的通信协议。
直播服务器110可以在一个或多个独立的数据处理装置或分布式计算机网络上实现。在一些实施例中,直播服务器110也可以使用各种虚拟设备和/或第三方服务提供商(例如,第三方云服务提供商)的服务,以提供直播服务器110的底层的计算资源和/或基础资源。
当用户通过推流客户端(如直播APP)录制视频发送直播时,调用该直播APP所在终端的图像采集装置进行视频,直播APP将采集的音视频编码后进行封装,并向直播服务器110进行推流。直播服务器110将接收到的音视频发送给拉流客户端,拉流客户端将直播视频流解码后展示音视频。其中,拉流客户端为终端用户客户端,即直播场景中获取直播视频流的客户端,或称直播场景中观看直播的客户端,该用户客户端也可以为直播APP,用户通过该直播APP观看直播。
在一些实例中,推流客户端读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息;当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的的直播项对应的媒体数据,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项。
在一些实例中,本申请提出的直播切换方法可应用于推流客户端,如图2所示,该方法包括以下步骤:
步骤201:读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息。
在一些实例中,所述直播列表中进一步包括各直播项对应的话题、标签,所述方法进一步包括:根据待播的直播项的话题和所述标签,更新所述主播账号的当前正在直播的直播项的话题和标签。
在一些实例中,所述媒体源信息包括:各个直播项对应的媒体源类型,所述媒体源包括以下任一个:图像采集装置、实时消息传输协议RTMP直播流、本地文件及终端设备的桌面。
步骤202:当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项。
在一些实例中,当根据所述各个直播项的开始时间确定出所述直播列表中索引为i的直播项的开始时间到达时,如果所述主播账号处于未开播状态,向所述直播服务器发送登录请求;接收所述直播服务器返回的登录请求响应消息,并根据所述登录请求响应消息进入开播状态;根据所述待播的直播项的媒体源信息获取所述待播的直播项的媒体数据;将所述待播的直播项对应的媒体数据上传至所述直播服务器,以开始所述待播的直播项的直播。
在一些实例中,所述媒体源信息包括:各个直播项对应的媒体源类型;在根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据之前,包括:根据所述媒体源信息,确定待播的直播项的媒体源类型;所述根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,包括:根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据。
在一些实例中,所述源数据包括音频数据和视频数据;所述媒体源信息中包括预设的分辨率;所述对所述源数据进行处理,得到所述媒体数据,包括:解码所述源数据中的视频数据;根据所述预设的分辨率,对所述视频数据进行编码,得到编码后的视频数据;根据所述音频数据和所述编码后的视频数据得到所述媒体数据。
在一些实例中,所述源数据包括音频数据和视频数据;所述媒体源信息中包括预设的分辨率和音频采样率;解码所述源数据中的视频数据和音频数据;根据所述预设的分辨率对所述视频数据进行编码,得到编码后的视频数据;根据所述预设的音频采样率对所述音频数据进行编码,得到编码后的音频数据;根据所述编码后的音频数据和所述编码后的视频数据得到所述媒体数据。
在一些实例中,所述直播列表进一步包括各直播项的结束时间,所述方法进一步包括:在将所述主播账号的当前正在直播的直播项切换到所述待播的直播项之后,读取所述待播的直播项的结束时间;如果所述待播的直播项的结束时间未到,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤。
在一些实例中,如果所述待播的直播项的结束时间到,如果根据所述直播列表确定还有直播项未直播结束,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;如果根据所述直播列表确定所有直播项都已直播结束,向所述直播服务器发送通知消息,通知所述直播服务器直播结束。
图3A和3B示出了本申请一些实例涉及的直播切换方法的另一流程图。如图所示,该过程包括如下步骤:
步骤301:读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的索引、开始时间和媒体源信息。
这里,所述直播列表可以包括多个直播项,所述直播列表可以为所述推流客户端响应输入指令,逐个对各直播项进行预配置形成的。
在一些实例中,所述媒体源信息包括各个直播项对应的媒体源类型,每一直播项均可以对应一媒体源,所述媒体源类型对应的媒体源为媒体数据的来源方式,如通过图像采集装置,如摄像机、摄像头,采集的数据。或通过采集个人电脑(PC,personal computer)桌面、手机桌面得到的数据,其中,通过采集PC桌面得到的数据情形,可以是用户正在使用PC玩游戏,如王者荣耀等,通过调用系统函数抓取PC的桌面内容,以得到所述直播项的源数据。通过采集手机桌面得到的源数据情形类似于通过采集PC桌面得到的源数据情形。所述媒体源还可以为本地文件,RTMP(Real Time Messaging Protocol,实时消息传输协议)直播流等。各个直播项对应的媒体源类型可以相同可以不同。
在一些实例中,所述直播列表还可以包括各直播项的结束时间、话题、标签、索引等。
在一些实例中,所述媒体信息还包括各媒体源对应的预设的分辨率,所述分辨率在表1中体现为视频画面宽和视频画面高,所述分辨率可以根据经验设置。
在一些实例中,所述媒体源信息还包括预设的音频采样率,所述预设的音频采样率可以根据场景需要选取常用的音频采样率作为预配置的音频采样率,如8000Hz,对应为电话所用采样率,对于人的说话已经足够;32000Hz,对应为摄像机所用采样率;44100Hz,对应为音频CD,也常用于MPEG-1音频(VCD,SVCD,MP3)所用采样率;48000Hz-miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率;96000或者192000Hz,对应为DVD-Audio、一些LPCM DVD音轨、BD-ROM(蓝光盘)音轨、和HD-DVD(高清晰度DVD)音轨所用采样率。
在一些实例中,所述媒体源信息还包括RTMP直播流在直播服务器中的存储地址,以及本地文件在终端设备中的存储路径。
图4示出了所述推流客户端对一直播项进行配置的用户界面示意图。在该图中,选中一媒体源时,如401所示的“本地文件”媒体源被选中,当某一媒体源被选中时,其旁边的圆圈变成黑点,可以对该媒体源对应的路径、分辨率等内容进行预设置,如402所示,在402中显示有本地文件的存储路径,以及对本地文件对应的源数据进行预设置的分辨率。在如图4所示的界面中,还可以对直播的开播话题、推流客户端所在的地理位置、开播时间进行预配置,例如在该图中,开播话题为喜剧之王,开播位置,即推流客户端所在的地理位置,为桂林市,开播时间为15:50:00~15:55:00,开播时间为一直播项的维持时间,即从该直播项的开始时间到结束时间之间的时间段。在一些实例中,还可以选中控件403,以实现各直播项的自动连续播放。
当对该直播项均配置完成后,该直播项在直播列表中显示为一条目,如图5中501所示。当对各直播项均进行如图4所示的配置时,便形成直播列表中的多个条目,即如图5中的502所示。在如图5所示的界面图中,还可以选择直播活动的自动开播,如选中503所示的复选框,推流客户端即可自动根据各直播项的开始时间,选择一直播项以进行直播,若不勾选上述复选框,则需人为监控各直播项的开播时间,以准时进行各项直播。
在一些实例中,所述直播列表还可以从另一终端设备中导入,即另一终端设备已经形成了包括直播列表对应的预配置文件,所述推流客户端所在的终端设备可以通过将所述预配置文件导入的方式,形成所述直播列表;或者通过U盘等拷贝的方式将所述预配置文件拷贝至所述推流客户端所在的终端设备,以形成所述直播列表。
例如,所述导入所述预配置文件的用户界面图可以如图6所示,操作图6中的控件601,弹出窗口602,窗口602显示终端设备中存储的预配置文件,如603所示的1.llf,2.llf以及3.llf,这里,将所述预配置文件的格式自定义为.llf,当然还可以为其他格式,这里不进行限定。当选中上述任一预配置文件,操作控件604,则完成将所述预配置文件从另一终端设备导入到所述推流客户端所在的终端设备中,该直播列表即显示为如图5所示。
在一些实例中,还可以将所述直播列表包括的内容编辑成二进制格式,以防止所述直播列表被恶意修改,保证了所述直播列表的安全,在一些实例中,还可以采取对所述直播列表进行加密等方式,这里不进行限定。
表1为将所述直播列表包括的内容编辑成二进制格式时,对所述内容对应的字段进行的定义,其中,定义了各字段对应的长度,以及对各字段的解释和常用取值。如“文件头”字段对应的长度为3字节(bytes),在该实例中,对“文件头”字段的解释为文件格式信息,且这里固定后缀为.llf。例如类型为0x04的媒体源为RTMP直播流,其对应的音频采样率的长度为1byte,对该字段的解释为“文件音频采样率”,其常用取值为0x01:8000Hz,0x02:32000Hz,0x03:44100Hz,0x04:48000Hz,0x05:896000Hz。
表1
Figure BDA0001734275290000091
Figure BDA0001734275290000101
通过预配置的方式,使得直播活动可以自动根据所述开始时间自动开始直播,无需人力维护值守,减少运行维护成本。
步骤302:判断索引为i的直播项的开始时间是否到达,如果所述索引为i的直播项的开始时间到达,则执行步骤303;如果所述索引为i的直播项的开始时间未到,则返回步骤301。
这里,所述判断索引为i的直播项的开始时间是否到达,可以是将所述索引为i的直播项的开始时间与所述推流客户端所在的终端设备当前显示的时间进行比较,如果所述索引为i的直播项的开始时间与所述推流客户端所在的终端设备当前显示的时间相同,则认为所述索引为i的直播项的开始时间到达,则继续执行步骤303。如果所述索引为i的直播项的开始时间未到,则返回步骤301,即继续执行读取所述直播列表中各直播项的开始时间步骤。
步骤303:判断所述主播账号是否处于开播状态,如果所述主播账号处于开播状态,则执行步骤304;如果所述主播账号处于未开播状态,则执行步骤308。
这里,若所述索引为i的直播项的开始时间到达,则继续判断所述主播账号是否处于开播状态,如果是,则执行步骤304;如果否,则执行步骤309。
步骤304:如果所述主播账号处于开播状态,则根据所述媒体源信息,确定索引为i的直播项的媒体源类型。
在一些实例中,步骤305包括步骤3051:根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据。
在一些实例中,所述媒体源类型包括以下至少一个:图像采集装置、实时消息传输协议RTMP直播流、本地文件及终端设备的桌面。
其中,所述图像装置可以为摄像机、摄像头等。所述终端设备的桌面可以为PC桌面、手机桌面等。
步骤305:假设所述主播账号当前正在直播是索引为j的直播项,根据所述索引为i的直播项的媒体源信息获取所述索引为i的直播项对应的媒体数据。
这里,所述直播列表进一步包括各直播项的结束时间,如果所述主播账号处于开播状态,且当前正在进行索引为j的直播项,此时,所述索引为j的直播项的结束时间可能到达,可能未到,而所述索引为i的直播项的开始时间到达,所述推流客户端均根据所述索引为i的直播项的媒体源信息获取所述索引为i的直播项对应的媒体数据,也即,优先进行所述索引为i的直播项。
步骤306:停止获取当前正在直播的索引为j的直播项对应的媒体数据。
如前所述,所述索引为j的直播项的结束时间可能到达,可能未到,此时,所述推流客户端均停止获取所述索引为j的直播项对应的媒体数据。进一步的,可以是在确认获取到所述索引为i的直播项对应的第一帧媒体数据时,停止获取所述索引为j的直播项对应的媒体数据。
步骤307:将所述索引为i的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前直播节目从所述索引为j的直播项切换到所述索引为i的直播项。
这里,所述推流客户端将所述索引为i的直播项对应的媒体数据上传至直播服务器,在一些实例中,所述推流客户端与直播服务器通过套接字(socket)实现所述媒体数据的上传,以使所述直播服务器将所述索引为i的直播项对应的媒体数据发送至拉流客户端以进行展示。
这里,自动将所述索引为j的直播项切换至所述索引为i的直播项,且所述索引为i的直播项的媒体数据与所述索引为j的直播项的媒体数据的上传至服务器的推流客户端的本地socket相同,实现了所述直播列表中各直播项的无缝迅速切换,提高了用户体验。
步骤308:根据所述索引为i的直播项的话题和所述标签,更新所述主播账号的当前直播节目的话题和标签。
这里,所述直播列表中进一步包括各直播项对应的话题、标签,当将所述索引为j的直播项切换到所述索引为i的直播项后,所述推流客户端根据所述索引为i的直播项的话题和所述标签,更新所述主播账号的当前直播节目的话题和标签。
在一些实例中,所述推流客户端还可以向所述直播服务器发送所述索引为i的直播项的开播通知,以使所述直播服务器将所述开播通知发送至各拉流客户端,从而各拉流客户端的用户能够准时观看所述索引为i的直播,其中,各拉流客户端可以是关注该主播的拉流客户端。
步骤309:如果所述主播账号处于未开播状态,则向直播服务器发送登录请求.
其中,所述登录请求可以携带所述主播账号,以使所述直播服务器根据所述主播账号分配房间。
步骤310:接收所述直播服务器返回的登录请求响应消息,并根据所述登录请求响应消息进入开播状态。
在一些实例中,所述登陆请求响应消息携带为所述主播账号分配房间的标识,根据所述房间的标识进入所述房间,以开始直播。
步骤311:根据所述媒体源信息,确定索引为i的直播项的媒体源类型。
该步骤中根据所述媒体源信息确定索引为i的直播项的媒体源类型的方式与步骤304中根据所述媒体源信息确定索引为i的直播项的媒体源类型的方式相同,此处不赘述。
步骤312:根据所述索引为i的直播项的媒体源信息获取所述索引为i的直播项的媒体数据。
在一些实例中,步骤312包括步骤3121:根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据。
这里,步骤312中根据所述索引为i的直播项的媒体源信息获取所述索引为i的直播项的媒体数据与步骤305中根据所述索引为i的直播项的媒体源信息获取所述索引为i的直播项的媒体数据的方式相同,此处不赘述。同理,步骤3121中根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据与步骤3051中根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据的方式相同,此处不赘述。
步骤313:将所述索引为i的直播项对应的媒体数据上传至所述直播服务器,以开始所述索引为i的直播项的直播。
在一些实例中,所述推流客户端在进行直播的过程中,还可以将所述媒体数据进行渲染展示,预览所述渲染效果后,将所述媒体数据上传至所述直播服务器。
例如,所述媒体源为摄像机时,所述摄像机通过与采集卡驱动设备与所述推流客户端所在的终端设备进行相连,并将采集到的数据发送至所述终端设备,以使所述终端设备根据所述预设分辨率渲染所述数据,当预览确定渲染效果后,将所述数据编码并上传至所述直播服务器。
又例如,所述媒体源为终端设备的桌面时,如手机的桌面,可以通过调用系统函数抓取手机桌面上显示的内容,如用户通过手机上正在玩王者荣耀,则可以通过调用系统函数抓取并记录用户玩王者荣耀的过程。在一些实例中,还可以将记录的内容通过软件或硬件的方式发送至所述推流客户端所在的终端设备(如电脑)以进行渲染预览,例如,可以通过iOS操作系统中的无线播放(AirPlay),Android操作系统中的手机控(total control)将记录的内容发送至电脑以进行渲染。其中,airPlay是苹果公司的在iOS4.2及OS XMountain Lion中加入的一种播放技术,可以将iPhone、iPod touch、iPad及Mac(需要OS XMountain Lion)上的视频镜像传送到支持Airplay的设备(如:音箱、Apple TV)中播放。total control是一款将手机屏投射到电脑屏,用电脑实时控制手机的软件。当预览确定渲染效果后,将所述数据编码并上传至所述直播服务器。
步骤314:读取所述索引为i的直播项的结束时间。
步骤315:判断所述索引为i的直播项的结束时间是否到达,如果是,则执行步骤316;如果否,则执行步骤317。
这里,所述判断索引为i的直播项的结束时间是否到达,可以是将所述索引为i的直播项的结束时间与所述推流客户端所在的终端设备当前显示的时间进行比较,如果所述索引为i的直播项的结束时间与所述推流客户端所在的终端设备当前显示的时间相同,则认为所述索引为i的直播项的结束时间到达,则继续执行步骤317。
步骤316:如果所述索引为i的直播项的结束时间未到,则返回步骤301。
这里,如果所述索引为i的直播项的结束时间未到,则返回步骤301,即读取所述直播列表中各直播项的开始时间步骤。
步骤317:如果所述索引为i的直播项的结束时间到达,则执行步骤319。
这里,通过预设置各直播项的结束时间,可以使得各直播项自动结束,无需等待结束操作指令,节省了终端设备运行所需的系统资源和网络资源。
步骤318:根据所述直播列表判断是否所有直播项都已直播结束,如果是,则向所述直播服务器发送通知消息,通知所述直播服务器直播结束,并结束该流程;如果否,则返回步骤301。
如上所述,步骤3051和步骤3121相同,以下以步骤3051为例进行说明。如图3B所示,该步骤3051还可以包括步骤3051A和步骤3051B。
具体的,所述源数据包括音频数据和视频数据;所述媒体源信息中包括预设的分辨率,步骤3051A可以包括:
步骤30511A:解码所述源数据中的视频数据。
步骤30512A:根据所述预设的分辨率,对所述视频数据进行编码,得到编码后的视频数据。
步骤30513A:根据所述音频数据和所述编码后的视频数据得到所述媒体数据。
具体的,所述源数据包括音频数据和视频数据;所述媒体源信息中包括预设的分辨率和音频采样率,步骤3051B可以包括:
步骤30511B:解码所述源数据中的视频数据和音频数据。
步骤30512B:根据所述预设的分辨率对所述视频数据进行编码,得到编码后的视频数据。
步骤30513B:根据所述预设的音频采样率对所述音频数据进行编码,得到编码后的音频数据。
步骤30514B:根据所述编码后的音频数据和所述编码后的视频数据得到所述媒体数据。
如前所述,各直播项对应的媒体源不同,其获取该直播项对应的媒体数据的方式不同,以下举例说明各个媒体源对应的获取媒体数据的方式。
(1)当所述媒体源为图像采集装置时,所述推流客户端启动后,启动与推流客户端所在终端设备相连的图像采集装置的驱动设备,具体的,对摄像机而言,所述驱动设备为采集卡驱动设备;对摄像头而言,则为摄像头驱动设备。将所述图像采集装置采集的源数据进行解码得到视频数据,根据预设的分辨率对该视频数据进行编码,得到编码后的视频数据,根据所述源数据中的音频数据和编码后的视频数据即可得到所述媒体数据。
(2)当所述媒体源为终端设备的桌面时,如PC桌面、手机桌面等,在进行该直播项时,通过调用系统函数抓取并记录终端设备的桌面显示的内容,得到该直播项的源数据。在一些实例中,对该媒体源对应的直播项可以不预设分辨率,在上述抓取终端设备的桌面的过程中,获取所述终端设备的桌面的分辨率,将所述桌面的分辨率作为编码的分辨率。对所述源数据进行解码,得到所述源数据中的视频数据,根据所述分辨率对所述视频数据进行编码,得到编码后的视频数据,根据所述源数据中的音频数据和编码后的视频数据即可得到所述媒体数据。
(3)当所述媒体源为RTMP直播流时,该媒体源对应的直播项的媒体源信息包括预设的RTMP直播流对应的链接地址(URL)、分辨率和音频采样率。推流客户端根据所述URL从RTMP服务器获取所述RTMP直播流;接收并解码所述RTMP服务器发送的所述RTMP直播流,得到该直播项的源数据;当通过解码所述RTMP流得到该RTMP流的分辨率和音频采样率时,将该RTMP流的分辨率和音频采样率替换所述预设的分辨率和音频采样率,并根据所述RTMP流的分辨率和音频采样率分别对所述源数据中的视频数据和音频数据进行编码,得到该视频项的媒体数据。
(4)当所述媒体源为本地文件时,本地文件例如可以为存储在终端设备本地的电影,如图4和图5中的喜剧之王,该媒体源对应的直播项的媒体源信息包括预设的所述本地文件在本地的存储路径、分辨率和音频采样率。推流客户端根据所述存储路径,获取并解析所述本地文件,当通过解析所述本地文件得到该电影的分辨率和音频采样率时,将该解析得到的分辨率和音频采样率替换所述预设的分辨率和音频采样率。所述推流客户端解码所述本地文件中的源数据中的视频数据和音频数据,并根据所述解析得到的分辨率对所述视频数据进行编码,得到编码后的视频数据;及根据所述解析得到的音频采样率对所述音频数据进行编码,得到编码后的音频数据;根据所述编码后的音频数据和所述编码后的视频数据得到所述媒体数据。
由上述描述可知,各媒体源均对应有其编码的分辨率,在将进行各直播项的切换时,该直播项对应的分辨率也进行了切换,相比于硬件导播台无法实现分辨率的动态切换,只能通过短暂切断媒体源并重设分辨率的方式,上述技术方案能够实现分辨率的动态无缝切换,且无需切断媒体源,提高了终端设备的运行性能。
本申请实例提出的直播切换方法适用于有切流需要或需接入不同媒体源的任意在线直播或录播场景,特别是对开播时间要求较高,如需准时开播的直播活动,通过上述技术方案,可以实现直播列表中各直播项的自动开播,且对于一些跨地区的直播活动,即直播列表中各直播项位于不同的地区,需对各直播项进行多次切换时,无需导播和导播台,即可实现多个直播项的自动切换,节省了人力、硬件和运营成本,同时实现了各直播项的无缝切换,节省了系统及网络资源,提高了终端设备的运行性能。
图7是本申请一些实例提供的直播切换方法的消息交互图。如图7所示,该直播切换过程包括如下步骤:
步骤701:推流客户端读取主播账号的直播列表。所述各直播项可以包括各直播项的开始时间。
步骤702:针对所述直播列表中任一项直播项,执行步骤703-步骤717。
步骤703:读取该直播项的开始时间,并将该直播项的开播时间与当前时间进行比较,判断是否到达该直播项的开始时间。如前所述,所述当前时间例如可以为终端设备显示的时间。若已到达所述直播项的开始时间,则执行步骤704,若未到达所述直播项的开始时间,则返回步骤702。
步骤704:所述推流客户端继续判断该主播账号是否处于开播状态,若是,则执行步骤710,若否,则执行步骤705。
步骤705:响应于用户的登陆请求,向直播服务器发送登陆请求,其中,所述登陆请求携带用户标识。
步骤706:直播服务器根据所述登陆请求返回所述用户标识对应的房间的标识。
步骤707:推流客户端获取所述直播列表中该直播项的预配置信息,其中,所述预配置信息可以包括话题、标签等。例如,所述预配置信息如表1中的各字段所示,如文件头、各直播项的项数、媒体源类型等等。
在一些实例中,所述预配置信息可以是所述推流客户端响应输入指令,逐个对各直播项进行预配置形成的,如图4所示。
在一些实例中,所述预配置信息还可以是通过从另一终端设备导入或拷贝预配置文件形成的如图5中501所示的一条目显示的信息。其中,导入所述预配置文件的用户界面图如图6所示。
在一些实例中,所述预配置信息还包括该直播项对应的媒体源类型,每一直播项均可以对应一媒体源,所述媒体源类型对应的媒体源为媒体数据的来源方式,如通过图像采集装置,如摄像机、摄像头,采集的图像数据。或通过采集PC桌面、手机桌面得到的图像数据,其中,通过采集PC桌面得到的图像数据情形,可以是用户正在使用PC玩游戏,如王者荣耀等,通过调用系统函数抓取PC的桌面内容,以得到所述直播项的源数据。通过采集手机桌面得到的源数据情形类似于通过采集PC桌面得到的源数据情形。所述媒体源还可以为本地文件,RTMP直播流等。
在一些实例中,所述直播列表还可以包括各直播项的结束时间、话题、标签、索引等。
在一些实例中,所述预配置信息还包括各媒体源对应的预设的分辨率,所述分辨率在表1中体现为视频画面宽和视频画面高,所述分辨率可以根据经验设置。
在一些实例中,所述预配置信息还包括预设的音频采样率,所述预设的音频采样率可以根据场景需要选取常用的音频采样率作为预配置的音频采样率,如8000Hz,对应为电话所用采样率,对于人的说话已经足够;32000Hz,对应为摄像机所用采样率;44100Hz,对应为音频CD,也常用于MPEG-1音频(VCD,SVCD,MP3)所用采样率;48000Hz-miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率;96000或者192000Hz,对应为DVD-Audio、一些LPCM DVD音轨、BD-ROM(蓝光盘)音轨、和HD-DVD(高清晰度DVD)音轨所用采样率。
在一些实例中,所述预配置信息还包括RTMP直播流在直播服务器中的存储地址,以及本地文件在终端设备中的存储路径。
在一些实例中,还可以将所述预配置信息对应的预配置文件编辑成二进制格式,以防止所述预配置信息被恶意修改,保证了所述预配置信息的安全,在一些实例中,还可以采取对所述预配置文件进行加密等方式,这里不进行限定。
步骤708:推流客户端根据所述房间的标识进入所述房间,根据所述预配置信息设置所述直播的话题,标签等参数。
步骤709:根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据。
该步骤与步骤3051相同,此处不赘述。
步骤710:将所述直播项对应的媒体数据上传至直播服务器,以开始所述直播项的直播。
该步骤与步骤313相同,此处不赘述。
步骤711:读取所述直播项的结束时间,并将所述直播项的结束时间与当前时间进行比较,并判断是否到达所述直播项的结束时间。如前所述,当前时间例如可以为终端设备显示的时间。若是,则执行步骤712,结束所述直播;若否,则返回执行步骤702。
步骤712:若该主播账号处于开播状态,则假设当前直播的直播项为索引为j的直播项,并获取索引为i的直播项的第二预配置信息。i,j均为正整数。
如前所述,各直播项的预配置信息包括结束时间,如果所述主播账号处于开播状态,且当前正在进行索引为j的直播项,此时,所述索引为j的直播项的结束时间可能到达,可能未到,而所述索引为i的直播项的开始时间到达,所述推流客户端均根据所述索引为i的直播项的媒体源信息获取所述索引为i的直播项对应的媒体数据,也即,优先进行所述索引为i的直播项。
步骤713:根据所述第二预配置信息更新当前直播项的话题、标签等参数。
在一些实例中,推流客户端还可以向所述直播服务器发送所述索引为i的直播项的开播通知,以使所述直播服务器将所述开播通知发送至各拉流客户端,从而各拉流客户端的用户能够准时观看所述索引为i的直播,其中,各拉流客户端可以是关注该主播的拉流客户端。
步骤714:推流客户端在确认获取到所述索引为i的直播项的第一帧音视频数据时,停止对所述索引为j的直播项的音视频数据的获取、渲染与编码,然后开启所述索引为i的直播项的渲染与编码。
步骤715:将所述索引为i的直播项对应的媒体数据上传至直播服务器,以开始所述索引为i的直播项的直播。
该步骤与步骤307相同,此处不赘述。
步骤716:判断是否到达所述索引为i的直播项的结束时间,如果是,则执行步骤717,如果否,则返回步骤702。
步骤717:判断是否所有直播项都已经结束,如果是,则执行步骤718,如果否,则回到步骤702,再次执行上述步骤703-步骤717,即针对所述直播列表项反复执行上述步骤703-步骤717,直至该直播列表中的所有直播项均播放完。
步骤718:向所述直播服务器发送通知消息,通知直播服务器结束直播,并关闭所述房间。
通过上述技术方案,可以实现直播列表中各直播项的自动开播,且对于一些跨地区的直播活动,即直播列表中各直播项位于不同的地区,需对各直播项进行多次切换时,无需导播和导播台,即可实现多个直播项的自动切换,节省了人力、硬件和运营成本,同时实现了各直播项的无缝切换,节省了系统及网络资源,提高了终端设备的运行性能。
基于上述实例提供的方法,本申请实例还提出了一种直播切换装置800,如图8所示,该装置800包括:
读取模块801,读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息。
获取模块802,当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据。
上传及切换模块803,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项。
在一些实例中,装置800进一步包括:
发送模块804,如果所述主播账号处于未开播状态,向所述直播服务器发送登录请求。
接收模块805,接收所述直播服务器返回的登录请求响应消息,并根据所述登录请求响应消息进入开播状态。
获取模块802,进一步根据所述待播的直播项的媒体源信息获取所述待播的直播项的媒体数据。
上传及切换模块803,进一步将所述待播的直播项对应的媒体数据上传至所述直播服务器,以开始所述待播的直播项的直播。
在一些实例中,装置800进一步包括:更新模块806,根据所述待播的直播项的话题和所述标签,更新所述主播账号的当前正在直播的直播项的话题和标签。
在一些实例中,所述直播列表进一步包括各直播项的结束时间,装置800进一步包括:
在将所述主播账号的当前正在直播的直播项切换到所述待播的直播项之后,读取模块801进一步读取所述待播的直播项的结束时间。
返回模块807,如果所述待播的直播项的结束时间未到,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤。
在一些实例中,装置800进一步包括:如果所述待播的直播项的结束时间到,如果根据所述直播列表确定还有直播项未直播结束,返回模块807进一步返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;如果根据所述直播列表确定所有直播项都已直播结束,发送模块804向所述直播服务器发送通知消息,通知所述直播服务器直播结束。
图9示出了数据处理装置所在的计算设备的组成结构图。
如图9所示,该计算设备典型地包括一个或更多处理单元(CPU)902,一个或多个网络接口904,存储器906,和用于互联这些组件的一个或多个通信总线908(有时也称为芯片集)。计算设备也可选地包括用户接口910。用户接口910包括一个或多个使能媒体数据的呈现的输出设备912,该一个或多个输出设备包括一个或多个扬声器和/或一个或多个可视化显示器。用户界面910也包括一个或多个输入设备914,该一个或多个输入设备914包括便利用户输入的用户接口组件,诸如键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机,或其他输入按钮或控件等。
存储器906包括高速随机存取存储器,诸如DRAM,SRAM,DDR RAM,或其他随机存取固态存储设备;和,包括非易失性存储器,诸如一个或多个磁盘存储设备,光盘存储设备,闪存设备,或其他非易失性固态存储设备。存储器906还可以包括一个或多个从CPU902远程定位的存储设备。存储器906,或,存储器906内的非易性存储设备,包括非易失性计算机可读存储介质。在一些实施方式中,存储器906,或存储器906的非易失性计算机可读存储介质,存储以下程序,模块,或数据结构,或其子集或超集:
·操作系统916,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·网络通信模块918,用于通过一个或多个网络接口(有线或无线)(例如,蓝牙接口,WiFi,低功耗蓝牙,USB等)将推流客户端所在的计算设备连接至其他计算设备;
·呈现模块920,用于通过与用户接口910关联的一个或多个输出设备912(例如,显示器、扬声器等);
·输入处理模块922,用于检测来自一个或多个输入设备914中的一个输入设备的一个或多个用户输入或交互,并解析检测的输入和交互。
在一些实施例中,存储器906也包括直播切换装置924,在一些实施例中,直播切换装置924包括但不限于:
o读取模块926,用于读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表包括各直播项的开始时间和媒体源信息;及在将所述主播账号的当前正在直播的直播项切换到所述待播的直播项之后,读取所述待播的直播项的结束时间。
o获取模块928,用于当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据;及根据所述待播的直播项的媒体源信息获取所述待播的直播项的媒体数据;
o上传及切换模块930,用于将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项;及将所述待播的直播项对应的媒体数据上传至所述直播服务器,以开始所述待播的直播项的直播;
o发送模块932,用于如果所述主播账号处于未开播状态,向所述直播服务器发送登录请求;及如果根据所述直播列表确定所有直播项都已直播结束,向所述直播服务器发送通知消息,通知所述直播服务器直播结束;
o接收模块934,用于接收所述直播服务器返回的登录请求响应消息,并根据所述登录请求响应消息进入开播状态;
o更新模块936,用于根据所述待播的直播项的话题和所述标签,更新所述主播账号的当前正在直播的直播项的话题和标签;
o返回模块938,用于如果所述待播的直播项的结束时间未到,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;及如果所述待播的直播项的结束时间到,如果根据所述直播列表确定还有直播项未直播结束,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤。
以上所述的单元可以存储在之前提及的一个或多个存储设备中,并且对应于用于执行以上描述的功能的指令集。不需要作为独立的软件程序,过程,模块,或数据结构而实现以上所述的模块或程序(例如,指令集),因此,可以以各种方式组合或重排这些模块的各种子集。在一些实施例中,存储器1706可选地存储以上所述的模块和数据结构的子集。进一步地,存储器1706可选地存储以上未描述的外加模块和数据结构。
以上所述仅为本申请的较佳实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种直播切换方法,其特征在于,包括:
读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表为对各个直播项进行预先配置后形成的,所述直播列表的内容被编辑为二进制格式,包括各个直播项的开始时间和媒体源信息;
当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,
如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项;
其中,所述直播列表进一步包括各直播项的结束时间,所述方法进一步包括:
在将所述主播账号的当前正在直播的直播项切换到所述待播的直播项之后,从所述直播列表中读取所述待播的直播项的结束时间;
如果所述待播的直播项的结束时间未到,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;
如果所述待播的直播项的结束时间到,如果根据所述直播列表确定还有直播项未直播结束,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;如果根据所述直播列表确定所有直播项都已直播结束,向所述直播服务器发送通知消息,通知所述直播服务器直播结束。
2.根据权利要求1所述的方法,进一步包括:
如果所述主播账号处于未开播状态,向所述直播服务器发送登录请求;
接收所述直播服务器返回的登录请求响应消息,并根据所述登录请求响应消息进入开播状态;
根据所述待播的直播项的媒体源信息获取所述待播的直播项的媒体数据;
将所述待播的直播项对应的媒体数据上传至所述直播服务器,以开始所述待播的直播项的直播。
3.根据权利要求1所述的方法,其中,所述直播列表中进一步包括各直播项对应的话题、标签,所述方法进一步包括:
根据所述待播的直播项的话题和所述标签,更新所述主播账号的当前正在直播的直播项的话题和标签。
4.根据权利要求1或2所述的方法,其中,所述媒体源信息包括:各个直播项对应的媒体源类型;
在根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据之前,包括:
根据所述媒体源信息,确定所述待播的直播项的媒体源类型;
所述根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,包括:
根据所述媒体源类型,从与该媒体源类型对应的媒体源获取源数据,并对所述源数据进行处理,得到所述媒体数据。
5.根据权利要求4所述的方法,其中,所述媒体源包括以下任一个:
图像采集装置、实时消息传输协议RTMP直播流、本地文件及终端设备的桌面。
6.根据权利要求4所述的方法,其中,所述源数据包括音频数据和视频数据;所述媒体源信息中包括预设的分辨率;所述对所述源数据进行处理,得到所述媒体数据,包括:
解码所述源数据中的视频数据;
根据所述预设的分辨率,对所述视频数据进行编码,得到编码后的视频数据;
根据所述音频数据和所述编码后的视频数据得到所述媒体数据。
7.根据权利要求4所述的方法,所述源数据包括音频数据和视频数据;所述媒体源信息中包括预设的分辨率和音频采样率;
解码所述源数据中的视频数据和音频数据;
根据所述预设的分辨率对所述视频数据进行编码,得到编码后的视频数据;
根据所述预设的音频采样率对所述音频数据进行编码,得到编码后的音频数据;
根据所述编码后的音频数据和所述编码后的视频数据得到所述媒体数据。
8.一种直播切换装置,其特征在于,包括:
读取模块,读取主播账号的直播列表中各直播项的开始时间,其中,所述直播列表为对各个直播项进行预先配置后形成的,所述直播列表的内容被编辑为二进制格式,包括各个直播项的开始时间和媒体源信息;
获取模块,当根据所述各个直播项的开始时间确定出所述直播列表中一待播的直播项的开始时间到达时,如果所述主播账号当前处于开播状态,根据所述待播的直播项的媒体源信息获取所述待播的直播项对应的媒体数据,停止获取当前正在直播的直播项对应的媒体数据;
上传及切换模块,将所述待播的直播项对应的媒体数据上传至直播服务器,以将所述主播账号的当前正在直播的直播项切换到所述待播的直播项;
所述直播列表进一步包括各直播项的结束时间,所述装置进一步包括:
在将所述主播账号的当前正在直播的直播项切换到所述待播的直播项之后,从所述直播列表中读取所述待播的直播项的结束时间;
返回模块,如果所述待播的直播项的结束时间未到,返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;
如果所述待播的直播项的结束时间到,如果根据所述直播列表确定还有直播项未直播结束,所述返回模块进一步返回所述读取主播账号的直播列表中各直播项的开始时间的步骤;如果根据所述直播列表确定所有直播项都已直播结束,发送模块向所述直播服务器发送通知消息,通知所述直播服务器直播结束。
9.根据权利要求8所述的装置,进一步包括:
发送模块,如果所述主播账号处于未开播状态,向所述直播服务器发送登录请求;
接收模块,接收所述直播服务器返回的登录请求响应消息,并根据所述登录请求响应消息进入开播状态;
所述获取模块,进一步根据所述待播的直播项的媒体源信息获取所述待播的直播项的媒体数据;
所述上传及切换模块,进一步将所述待播的直播项对应的媒体数据上传至所述直播服务器,以开始所述待播的直播项的直播。
10.根据权利要求8所述的装置,进一步包括:
更新模块,根据所述待播的直播项的话题和所述标签,更新所述主播账号的当前正在直播的直播项的话题和标签。
11.一种存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1至7任一项所述的方法。
12.一种计算设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机可读指令,可以使所述处理器执行如权利要求1至7中任一项所述的方法。
CN201810788597.9A 2018-07-18 2018-07-18 直播切换方法、装置及存储介质 Active CN110740386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810788597.9A CN110740386B (zh) 2018-07-18 2018-07-18 直播切换方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810788597.9A CN110740386B (zh) 2018-07-18 2018-07-18 直播切换方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110740386A CN110740386A (zh) 2020-01-31
CN110740386B true CN110740386B (zh) 2021-07-30

Family

ID=69234324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810788597.9A Active CN110740386B (zh) 2018-07-18 2018-07-18 直播切换方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110740386B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447460B (zh) * 2020-05-15 2022-02-18 杭州当虹科技股份有限公司 一种将低延时网络应用于导播台的实现方法
CN111641839B (zh) * 2020-05-27 2021-09-21 北京达佳互联信息技术有限公司 直播方法、装置、电子设备及存储介质
CN112738540B (zh) * 2020-12-25 2023-09-05 广州虎牙科技有限公司 多设备直播切换方法、装置、系统、电子设备和可读存储介质
CN113127166A (zh) * 2021-03-16 2021-07-16 北京达佳互联信息技术有限公司 多业务处理方法、装置、系统、电子设备及存储介质
CN114401412B (zh) * 2021-12-09 2024-03-01 北京达佳互联信息技术有限公司 直播预告的处理方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716699A (zh) * 2013-12-13 2014-04-09 北京厚睿技术有限公司 直播节目的切换控制方法和系统
CN103905846A (zh) * 2012-12-25 2014-07-02 中国电信股份有限公司 基于iptv的内容推送方法与服务器
CN104394437A (zh) * 2014-12-09 2015-03-04 广州华多网络科技有限公司 一种在线直播的开播方法及系统
CN105912449A (zh) * 2015-10-30 2016-08-31 乐视移动智能信息技术(北京)有限公司 一种直播内容动态提醒的方法及装置
WO2016169344A1 (zh) * 2015-04-20 2016-10-27 中兴通讯股份有限公司 一种节目的推送方法及装置
CN106937131A (zh) * 2017-03-31 2017-07-07 广州华多网络科技有限公司 视频流切换方法、装置及设备
CN108259409A (zh) * 2016-12-28 2018-07-06 腾讯科技(深圳)有限公司 信息处理方法、终端及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905846A (zh) * 2012-12-25 2014-07-02 中国电信股份有限公司 基于iptv的内容推送方法与服务器
CN103716699A (zh) * 2013-12-13 2014-04-09 北京厚睿技术有限公司 直播节目的切换控制方法和系统
CN104394437A (zh) * 2014-12-09 2015-03-04 广州华多网络科技有限公司 一种在线直播的开播方法及系统
WO2016169344A1 (zh) * 2015-04-20 2016-10-27 中兴通讯股份有限公司 一种节目的推送方法及装置
CN105912449A (zh) * 2015-10-30 2016-08-31 乐视移动智能信息技术(北京)有限公司 一种直播内容动态提醒的方法及装置
CN108259409A (zh) * 2016-12-28 2018-07-06 腾讯科技(深圳)有限公司 信息处理方法、终端及系统
CN106937131A (zh) * 2017-03-31 2017-07-07 广州华多网络科技有限公司 视频流切换方法、装置及设备

Also Published As

Publication number Publication date
CN110740386A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN110740386B (zh) 直播切换方法、装置及存储介质
US10347292B2 (en) Digital video recorder options for editing content
US9769414B2 (en) Automatic media asset update over an online social network
US9112623B2 (en) Asynchronous interaction at specific points in content
RU2577468C2 (ru) Способ совместного использования цифрового медиаконтента (варианты)
US8689255B1 (en) Synchronizing video content with extrinsic data
EP3713224B1 (en) Live data processing method and system, and server
WO2016138844A1 (zh) 音视频文件直播方法和系统、服务器
CA3016063C (en) Companion device and primary device
WO2015078199A1 (zh) 直播互动方法、装置、客户端、服务器及系统
KR20140008386A (ko) 매트릭스 코드를 이용한 플레이스쉬프팅 이용
TWI501609B (zh) 用以儲存多重來源多媒體呈現內容之系統與方法
WO2015035934A1 (en) Methods and systems for facilitating video preview sessions
WO2015039477A1 (zh) 基于多屏互动的信息系统及信息投放方法、iptv系统
US20240107087A1 (en) Server, terminal and non-transitory computer-readable medium
CN112532719B (zh) 信息流的推送方法、装置、设备及计算机可读存储介质
CN103888788A (zh) 一种基于双向机顶盒的虚拟旅游服务系统及实现方法
KR20170085781A (ko) 유무선 통신 네트워크 기반 가상 현실 영상 제공 및 이를 위한 예매 시스템
WO2016057519A1 (en) Electronic program guide displaying media service recommendations
JP7302801B1 (ja) ストリーミングデータを取り扱う方法、システム及びコンピュータプログラム
Turch File Structure Analysis of TikTok Videos
US20230188796A1 (en) Systems and methods for scheduling a communication session based on media asset communication data
KR20100007671U (ko) 멀티박스를 포함한 수신기

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40019606

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant