CN109495761A - 视频切换方法及装置 - Google Patents
视频切换方法及装置 Download PDFInfo
- Publication number
- CN109495761A CN109495761A CN201710823550.7A CN201710823550A CN109495761A CN 109495761 A CN109495761 A CN 109495761A CN 201710823550 A CN201710823550 A CN 201710823550A CN 109495761 A CN109495761 A CN 109495761A
- Authority
- CN
- China
- Prior art keywords
- code rate
- video stream
- stream data
- video
- data
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing 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/234363—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Abstract
本发明公开了一种视频切换方法及装置,属于多媒体领域。所述方法包括:在视频的播放过程中,向服务器发送码率切换信令,码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据;通过所述取流通道,接收所述服务器发送的所述第二码率的视频流数据;基于当前播放通道,对所述第二码率的视频流数据进行渲染。本发明通过一条码率切换信令来指示服务器获取不同码率的视频流数据,并在已有取流通道上传输码率切换后的视频流数据,由电子设备基于已有播放通道渲染切换后的视频流数据,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
Description
技术领域
本发明涉及多媒体领域,尤其涉及一种视频切换方法及装置。
背景技术
在视频的播放过程中,用户可能会产生视频清晰度的切换需求,如用户觉得当前视频的播放不够清晰,需要将当前视频从低清晰度(标清)切换为高清晰度(高清),或,用户觉得当前视频的播放不够流畅,需要将当前视频从高清晰度切换为低清晰度。为了满足用户的切换需求,电子设备可以提供视频清晰度的切换功能,当检测到用户对视频清晰度的切换操作时,电子设备可以根据该切换操作,获取不同码率的当前视频进行播放,从而实现当前视频的清晰度切换,其中不同码率对应不同清晰度。
目前,在视频的播放过程中,当用户在电子设备触发清晰度切换后,电子设备会在保留第一取流通道(用于获取第一码率的视频数据)和第一播放通道(用于渲染第一码率的视频数据)的基础上,与服务器建立第二取流通道,基于第二取流通道接收服务器发送的第二码率的视频数据,在初始化播放控件后,开启第二播放通道,基于第二播放通道对第二码率的视频数据进行渲染,当第二码率的视频数据渲染成功后,将第一取流通道和第一播放通道关闭。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
相关技术在视频切换的过程中,需要建立新的取流通道以及开启新的播放通道,资源消耗大,且需要初始化播放控件,切换速度慢。
发明内容
为了解决现有技术资源消耗大、切换速度慢的问题,本发明实施例提供了一种视频切换方法及装置。所述技术方案如下:
第一方面,提供了一种视频切换方法,所述方法包括:
在视频的播放过程中,向服务器发送码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
通过所述取流通道,接收所述服务器发送的所述第二码率的视频流数据;
基于当前播放通道,对所述第二码率的视频流数据进行渲染。
在第一方面的第一种实现方式中,所述对所述第二码率的视频流数据进行渲染包括:
根据所述第一码率的视频流数据的最后一个关键帧,确定所述第二码率的视频流数据的起始关键帧,所述起始关键帧的时间戳晚于所述第一码率的视频流数据的最后一个关键帧的时间戳;
当所述第一码率的视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。
在第一方面的第二种实现方式中,所述当所述最后一个关键帧渲染完成后,从所述第二码率的视频流数据的起始关键帧继续进行渲染之前,所述方法还包括:
将所述第二码率的视频流数据的目标关键帧存储至播放引擎的缓冲区中,所述缓冲区对应所述当前播放通道,不同缓冲区对应于不同播放通道,所述目标关键帧包括所述第二码率的视频流数据的起始关键帧以及时间戳晚于所述起始关键帧的其他关键帧。
在第一方面的第三种实现方式中,所述接收所述服务器发送的所述第二码率的视频流数据之前,所述方法还包括:
接收所述服务器采用指定会话描述格式发送的所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
在第一方面的第四种实现方式中,所述接收所述服务器采用指定会话描述格式发送的所述第二码率的视频流数据的数据头和码率切换标识之后,所述方法还包括:
调用播放引擎中的预设接口,将所述第二码率的视频流数据的数据头和所述码率切换标识传递给所述播放引擎,所述预设接口为所述播放引擎中增加的接口。
在第一方面的第五种实现方式中,所述对所述第二码率的视频流数据进行渲染之前,所述方法还包括:
根据所述第二码率的视频流数据的数据头和所述码率切换标识,从电子设备已接收的视频流数据中确定所述第二码率的视频流数据。
在第一方面的第六种实现方式中,所述码率切换信令为启动SETUP信令或自定义的信令,所述SETUP信令携带固定参数。
第二方面,提供了一种视频切换方法,所述方法包括:
接收电子设备的码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
获取所述第二码率的视频流数据;
通过所述取流通道,向所述电子设备发送所述第二码率的视频流数据。
在第二方面的第一种实现方式中,所述获取所述第二码率的视频流数据包括:
从前端设备获取所述第二码率的视频流数据,所述前端设备用于视频流数据的实时采集。
在第二方面的第二种实现方式中,所述向所述电子设备发送所述第二码率的视频流数据包括:
当所述第二码率的视频流数据的第一个关键帧发送完成后,停止发送所述第一码率的视频流数据,向所述电子设备继续发送所述第二码率的剩余视频流数据。
在第二方面的第三种实现方式中,所述向所述电子设备发送所述第二码率的视频流数据之前,所述方法还包括:
采用指定会话描述格式,向所述电子设备发送所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
第三方面,提供了一种视频切换装置,所述装置包括:
发送模块,用于在视频的播放过程中,向服务器发送码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
接收模块,用于通过所述取流通道,接收所述服务器发送的所述第二码率的视频流数据;
渲染模块,用于基于当前播放通道,对所述第二码率的视频流数据进行渲染。
在第三方面的第一种实现方式中,所述渲染模块,用于根据所述第一码率的视频流数据的最后一个关键帧,确定所述第二码率的视频流数据的起始关键帧,所述起始关键帧的时间戳晚于所述第一码率的视频流数据的最后一个关键帧的时间戳;当所述第一码率的视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。
在第三方面的第二种实现方式中,所述装置还包括:
存储模块,用于将所述第二码率的视频流数据的目标关键帧存储至播放引擎的缓冲区中,所述缓冲区对应所述当前播放通道,不同缓冲区对应于不同播放通道,所述目标关键帧包括所述第二码率的视频流数据的起始关键帧以及时间戳晚于所述起始关键帧的其他关键帧。
在第三方面的第三种实现方式中,所述接收模块,还用于接收所述服务器采用指定会话描述格式发送的所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
在第三方面的第四种实现方式中,所述装置还包括:
调用模块,用于调用播放引擎中的预设接口,将所述第二码率的视频流数据的数据头和所述码率切换标识传递给所述播放引擎,所述预设接口为所述播放引擎中增加的接口。
在第三方面的第五种实现方式中,所述装置还包括:
确定模块,用于根据所述第二码率的视频流数据的数据头和所述码率切换标识,从电子设备已接收的视频流数据中确定所述第二码率的视频流数据。
在第三方面的第六种实现方式中,所述码率切换信令为启动SETUP信令或自定义的信令,所述SETUP信令携带固定参数。
第四方面,提供了一种视频切换装置,所述装置包括:
接收模块,用于接收电子设备的码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
获取模块,用于获取所述第二码率的视频流数据;
发送模块,用于通过所述取流通道,向所述电子设备发送所述第二码率的视频流数据。
在第四方面的第一种实现方式中,所述获取模块,用于从前端设备获取所述第二码率的视频流数据,所述前端设备用于视频流数据的实时采集。
在第四方面的第二种实现方式中,所述发送模块,用于当所述第二码率的视频流数据的第一个关键帧发送完成后,停止发送所述第一码率的视频流数据,向所述电子设备继续发送所述第二码率的剩余视频流数据。
在第四方面的第三种实现方式中,所述发送模块,还用于采用指定会话描述格式,向所述电子设备发送所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
第五方面,提供了一种电子设备,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,实现第一方面任一种实现方式所述的方法步骤。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一种实现方式所述的方法步骤。
第七方面,提供了一种服务器,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,实现第二方面任一种实现方式所述的方法步骤。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面任一种实现方式所述的方法步骤。
本发明实施例提供的技术方案带来的有益效果是:
通过一条码率切换信令来指示服务器获取不同码率的视频流数据,并在已有取流通道上传输码率切换后的视频流数据,且基于已有播放通道,对码率切换后的视频流数据进行渲染,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频切换方法流程图;
图2是本发明实施例提供的一种视频切换方法流程图;
图3是本发明实施例提供的一种视频切换方法流程图;
图4是本发明实施例提供的一种视频切换前的播放流程的示意图;
图5是本发明实施例提供的一种视频切换场景的示意图;
图6是本发明实施例提供的一种当前视频的切换流程的示意图;
图7A是本发明实施例提供的一种电子设备和服务器的交互流程的示意图;
图7B是本发明实施例提供的一种电子设备和服务器的交互流程的示意图;
图8是本发明实施例提供的一种视频切换装置的结构示意图;
图9是本发明实施例提供的一种视频切换装置的结构示意图;
图10是本发明实施例提供的一种视频切换装置的结构示意图;
图11是本发明实施例提供的一种视频切换装置的结构示意图;
图12是本发明实施例提供的一种视频切换装置的结构示意图;
图13是本发明实施例提供的一种电子设备1300的结构示意图;
图14是本发明实施例提供的一种服务器1400的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种视频切换方法的流程图。参见图1,该方法包括:
101、在视频的播放过程中,向服务器发送码率切换信令,该码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度。
102、通过该取流通道,接收该服务器发送的该第二码率的视频流数据。
103、基于当前播放通道,对该第二码率的视频流数据进行渲染。
本发明实施例提供的方法,通过一条码率切换信令来指示服务器传输不同码率的视频流数据,并通过已有取流通道接收码率切换后的视频流数据,且基于已有播放通道,对码率切换后的视频流数据进行渲染,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
可选地,该对该第二码率的视频流数据进行渲染包括:
根据该第一码率的视频流数据的最后一个关键帧,确定该第二码率的视频流数据的起始关键帧,该起始关键帧的时间戳晚于该第一码率的视频流数据的最后一个关键帧的时间戳;
当该第一码率的视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。
可选地,该当该最后一个关键帧渲染完成后,从该第二码率的视频流数据的起始关键帧继续进行渲染之前,该方法还包括:
将该第二码率的视频流数据的目标关键帧存储至播放引擎的缓冲区中,该缓冲区对应该当前播放通道,不同缓冲区对应于不同播放通道,该目标关键帧包括该第二码率的视频流数据的起始关键帧以及时间戳晚于该起始关键帧的其他关键帧。
可选地,该接收该服务器发送的该第二码率的视频流数据之前,该方法还包括:
接收该服务器采用指定会话描述格式发送的该第二码率的视频流数据的数据头和码率切换标识,该码率切换标识用于指示具有该数据头的该第二码率的视频流数据为码率切换后的视频流数据。
可选地,该接收该服务器采用指定会话描述格式发送的该第二码率的视频流数据的数据头和码率切换标识之后,该方法还包括:
调用播放引擎中的预设接口,将该第二码率的视频流数据的数据头和该码率切换标识传递给该播放引擎,该预设接口为该播放引擎中增加的接口。
可选地,该对该第二码率的视频流数据进行渲染之前,该方法还包括:
根据该第二码率的视频流数据的数据头和该码率切换标识,从电子设备已接收的视频流数据中确定该第二码率的视频流数据。
可选地,该码率切换信令为启动SETUP信令或自定义的信令,该SETUP信令携带固定参数。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种视频切换方法的流程图。参见图2,该方法包括:
201、接收电子设备的码率切换信令,该码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度。
202、获取该第二码率的视频流数据。
203、通过该取流通道,向该电子设备发送该第二码率的视频流数据。
本发明实施例提供的方法,基于一条码率切换信令,获取不同码率的视频流数据,并通过已有取流通道上向电子设备传输码率切换后的视频流数据,由电子设备基于已有播放通道,对码率切换后的视频流数据进行渲染,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
可选地,该获取该第二码率的视频流数据包括:
从前端设备获取该第二码率的视频流数据,该前端设备用于视频流数据的实时采集。
可选地,该向该电子设备发送该第二码率的视频流数据包括:
当该第二码率的视频流数据的第一个关键帧发送完成后,停止发送该第一码率的视频流数据,向该电子设备继续发送该第二码率的剩余视频流数据。
可选地,该向该电子设备发送该第二码率的视频流数据之前,该方法还包括:
采用指定会话描述格式,向该电子设备发送该第二码率的视频流数据的数据头和码率切换标识,该码率切换标识用于指示具有该数据头的该第二码率的视频流数据为码率切换后的视频流数据。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种视频切换方法的流程图,该方法可应用于但不限于实时视频播放的场景。基于电子设备和服务器的交互,参见图3,该方法包括:
301、在视频的播放过程中,当检测到对视频进行清晰度切换的操作时,电子设备向服务器发送码率切换信令,该码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度。
其中,电子设备可以是手机或PC(Personal Computer,个人计算机)等可以实时播放视频的设备,该电子设备可以包括取流引擎和播放引擎,取流引擎用于获取视频流数据,播放引擎用于渲染视频流数据,通过取流引擎和播放引擎来实现视频画面的实时播放。这里的服务器可以是流媒体服务器,用于向电子设备发送视频流数据。第一码率的视频流数据为电子设备当前播放的视频流数据,对应当前的播放清晰度,第二码率的视频流数据为待切换的视频流数据,对应不同的播放清晰度。
参见图4,提供了一种视频切换前的播放流程,该播放流程可以包括:A1、建立取流通道T,即电子设备与服务器建立一路取流通道,用于服务器向电子设备传输视频流数据;A2、开启网络取流,即电子设备向服务器请求获取视频流数据;A3、启动视频流传输,即电子设备接收服务器发送的视频流数据;A4、初始化播放控件;A5、开启播放通道P,播放通道用于播放引擎从缓冲区获取视频流数据,不同播放通道对应播放引擎的不同缓冲区;A6、在保持当前播放通道不变的情况下,向播放引擎的缓冲区中存储视频流数据;A7、开始视频渲染,即播放引擎从缓冲区获取视频流数据进行渲染,以实现视频画面的播放。
本发明实施例中,电子设备可以按照图4的播放流程,播放当前视频,用户在电子设备上观看当前视频的过程中,可以对电子设备提供的清晰度按钮进行触发操作,以触发电子设备将视频从当前清晰度切换为另一清晰度,如将视频从标清播放切换为高清播放。参见图5,提供了一种视频切换场景,用户可以对图5中的“流畅”、“标清”或“高清”按钮进行选择操作,以触发视频清晰度的切换,图5中的“a_通道1”所在区域呈现的播放画面可以是播放引擎从缓冲区1中获取视频流数据并渲染得到,如在切换前,“a_通道1”所在区域呈现的播放画面可以是播放引擎对缓冲区1中第一码率的视频数据进行渲染得到。当然,码率切换信令的发送也可以不由用户的切换操作触发,而由电子设备根据当前网络状况自行发送,如电子设备检测到当前网络较差时,可以发送码率切换信令1,指示服务器将当前清晰度的视频流数据切换为更低清晰度的视频流数据,以实现该视频在电子设备上的流畅播放,或,电子设备检测到当前网络较好时,可以发送码率切换信令2,指示服务器将当前清晰度的视频流数据切换为更高清晰度的视频流数据,以实现该视频在电子设备上的高清播放。
清晰度的改变可以通过改变传输数据的码率来实现,电子设备可以基于RTSP(Real Time Streaming Protocol,实时流协议),向服务器发送码率切换信令(或请求),以告知服务器将第一码率的视频流数据切换为第二码率的视频流数据。参见图6,提供了一种当前视频的切换流程,在步骤B1中,电子设备可以通过当前已建立的取流通道T向服务器发送码率切换信令,该B1的执行不影响取流通道中当前视频流数据(第一码率的视频流数据)的传输。
通过码率切换信令指示服务器切换不同码率的视频流数据,优化了不同码率的实时视频流数据的获取过程,与相关技术中建立另一路取流通道来传输不同码率的视频流数据相比,本发明减少了创建取流通道的数量,避免了建立新的取流通道占用资源和耗费时间的问题,从内存消耗上进行了实质性的优化,同时也减少了服务器维持过多通道的压力,既节省了资源,又提高了码率切换的效率。
302、当接收到电子设备的码率切换信令时,服务器获取第二码率的视频流数据。
本发明实施例中,当服务器接收到电子设备的码率切换信令时,可以得知电子设备需要获取不同码率的视频流数据进行播放,此时,服务器可以获取该码率切换指令指示的第二码率的视频流数据。在一种可能实现方式中,服务器可以与前端设备连接,进行实时交互,该前端设备可以是网络摄像机、抓拍机等具有实时摄像功能的监控设备。相应地,服务器获取第二码率的视频流数据可以包括:服务器通过改变向前端设备取流的类型,从前端设备获取第二码率的视频流数据,该前端设备用于视频流数据的实时采集。
上述实现方式是以该前端设备和服务器是功能独立的两个设备为例进行说明,当然,该前端设备和服务器的功能也可以集成在一个设备上,例如该服务器就可以集成有该前端设备的功能,本发明实施例对此不做限定。
303、服务器通过当前取流通道,向电子设备发送第二码率的视频流数据。
本发明实施例中,服务器在获取到第二码率的视频流数据后,可以先采用指定会话描述格式,向该电子设备发送该第二码率的视频流数据的数据头和码率切换标识,再向电子设备发送第二码率的视频流数据。其中,该指定格式可以是SDP(Session DescriptionProtocol,会话描述格式),该数据头可以承载该视频流数据的相关信息,如分辨率、数据来源和数据头大小等,该码率切换标识用于指示具有该数据头的该第二码率的视频流数据为码率切换后的视频流数据。如图6中的步骤B2和B3所示,服务器可以通过与电子设备预先建立的取流通道(图4中的取流通道T),向电子设备发送第二码率的视频流数据的数据头和码率切换标识,以告知电子设备该取流通道T中传输的具有该数据头的视频流数据即为码率发生变化后的视频流数据,进而通过该取流通道T向电子设备发送第二码率的视频流数据。
另外,通过在该第二码率的视频流数据中携带码率切换标识,使得电子设备可以通过码率切换标识,对新的视频流数据(第二码率的视频流数据)和旧的视频流数据(第一码率的视频流数据)进行区分,从而避免在视频切换过程中,不同码率的视频流数据串流。
参见图7A,提供了一种电子设备和服务器的交互流程,该交互流程可以包括:
(1)电子设备发起选择信令(OPTION信令)或请求,目的是询问服务器有哪些方法可用。
(2)服务器对OPTION信令或请求进行回应,服务器可以实现什么方法就回应哪些方法。
(3)电子设备发起描述信令(DESCRIBE信令)或请求,目的是为了从服务器那里得到会话描述信息(SDP),SDP在流媒体(如实时视频流)中用于描述媒体信息。
(4)服务器对DESCRIBE信令或请求进行响应,发送必要的媒体参数,主要包括媒体名、传输协议等信息。
(5)电子设备发起启动指令(SETUP信令)或请求,即初始化信令或请求,目的是提醒服务器建立并确定传输模式,准备传输视频流。
(6)服务器对SETUP信令或请求进行响应,确认会话建立,返回会话标识及会话相关信息。
(7)电子设备发起播放信令(PLAY信令)或请求,目的是请求播放视频流数据。
(8)服务器对PLAY信令或请求进行响应,对视频流数据封装打包进行传输。
(9)电子设备发起关闭信令(TEARDOWN信令)或请求,目的是关闭连接,终止传输。
(10)服务器关闭连接,停止传输。
图7A是视频切换前的交互流程,当用户在电子设备触发视频切换后,交互流程可以如图7B所示,图7B中的虚线部分是电子设备向服务器发送码率切换信令,服务器根据码率切换信令,向电子设备返回切换后的视频流数据的过程。其中,码率切换信令可以是SETUP信令,由于初始化信令也采用的是SETUP信令(如图7A中PLAY信令之前的SETUP信令),为了便于区分码率切换信令和初始化信令,该码率切换信令对应的SETUP信令可以携带固定参数。当然,码率切换信令也可以是自定义的信令。服务器向电子设备返回切换后的视频流数据之前,可以将码率切换标识和切换后的视频流数据的数据头以SDP格式发送给电子设备,如图7B中的状态编号“a-b”即是一种码率切换标识,用于表示视频流数据的码率发生变化。当然,该码率切换标识还可以是其它形式,如字符、或字符和数字的组合等,本发明实施例不对该码率切换标识的具体形式进行限定。
相关技术在根据图7A的播放流程实现当前视频的播放后,如果需要切换视频的清晰度,则需要再次重复执行该播放流程,包括取流通道和播放通道的再次建立,而本发明在视频切换过程中,通过一条码率切换信令来代替相关技术中的整个播放流程,避免了该播放流程中多次网络信令或请求的发送,降低了因网络异常导致码率切换失败的可能性。
需要说明的是,在服务器向电子设备成功发送第二码率的视频流数据的第一个关键帧之前,需要保证第一码率的视频流数据仍然能够正常传输,使得电子设备可以根据第一码率的视频流数据,正常播放画面,以避免出现画面暂停的现象而给用户带来不好的体验。其中,关键帧可以是I帧(IFrame),它是决定画面的有效帧。而当该第二码率的视频流数据的第一个关键帧发送完成后,为了避免资源浪费,服务器可以停止向电子设备发送第一码率的视频流数据,并向该电子设备继续传输该第二码率的剩余视频流数据,使得电子设备可以基于该第二码率的视频流数据,连续播放清晰度切换后的视频画面。
可选地,电子设备在成功实现视频切换后,如果想要停止当前窗口的视频播放,电子设备可以将最后一次码率切换成功的视频流数据的URL(Uniform Resource Locator,统一资源定位符)告诉服务器,如向服务器发送图7A中的TEARDOWN信令,该TEARDOWN信令携带该URL,使得服务器能够根据该URL,及时释放资源。当然,如果电子设备当前播放的视频没有成功切换过视频清晰度,该URL指的是电子设备向服务器请求第一码率的视频流数据的URL。
通过在不同码率的视频流数据切换成功之前,保留对原视频流数据的正常传输,以保证画面的连续播放,避免用户等待的过程,而在电子设备成功接收到新的视频流数据时,及时停止原视频流数据的传输,直接对该新的视频流数据进行渲染,从而保证码率切换或清晰度切换的无缝过渡,使得用户可以观看连续的播放画面。
可选地,由于每一帧视频流数据都有对应的时间戳,时间戳可以用于指示视频流数据的采集时间,故服务器可以根据时间戳,对第二码率的视频流数据进行筛选后再发送给电子设备,具体地,服务器可以根据向电子设备传输的第一码率的视频流数据的最后一个关键帧的时间戳(记录为T,如1499159000000表示2017年7月4日15时3分20秒0毫秒),将第二码率的视频流数据中的目标视频流数据发送给电子设备,该目标视频流数据的关键帧的时间戳晚于该第一码率视频流数据的最后一个关键帧的时间戳。其中,第一码率的视频流数据的最后一个关键帧是指服务器停止向电子设备发送该第一码率视频流数据的最后一个关键帧。通过服务器将第二码率的视频流数据中时间戳早于T的视频流数据筛选掉,仅向电子设备发送时间戳晚于T的视频流数据,使得电子设备可以对接收到的视频流数据进行实时渲染,从而防止视频数据错乱,在保证播放画面的连续性的同时,减少数据的传输量。
304、当电子设备通过当前取流通道接收到服务器发送的第二码率的视频流数据时,基于当前播放通道,对该第二码率的视频流数据进行渲染。
针对步骤303中服务器在向电子设备发送的第二码率的视频流数据之前,可以先采用指定会话描述格式,向该电子设备发送该第二码率的视频流数据的数据头和码率切换标识,相应地,电子设备可以接收到服务器采用指定会话描述格式发送的第二码率的视频流数据的数据头和该码率切换标识。本发明实施例中,电子设备可以在播放引擎中增加一个接口作为预设接口,电子设备接收到切换后的第二码率的视频流数据的数据头和该码率切换标识后,可以调用播放引擎中的该预设接口,将该码率切换标识以及该第二码率视频流数据的数据头传递给播放引擎,以告知播放引擎需要渲染的视频流数据发生了变化,并指示播放引擎对具有该数据头的视频流数据进行渲染,使得播放引擎可以根据该码率切换标识以及该第二码率的视频流数据的数据头,获知该第二码率的视频流数据的信息,从而对具有该数据头的第二码率的视频流数据及时渲染(如图6中的步骤B4所示)。具体地,电子设备可以在保持播放通道(如图4中的播放通道P)不变的情况下,直接将切换后的视频流数据存储至播放引擎中的缓冲区,同时告诉播放引擎该码率切换后的视频流数据的相关信息。在渲染之前,由于电子设备当前已接收的视频流数据中既有第一码率的视频流数据,也有第二码率的视频流数据,电子设备可以根据该第二码率的视频流数据的数据头和该码率切换标识,从已接收的视频流数据中确定该第二码率的视频流数据,并对其进行渲染。例如,由于该码率切换标识用于指示具有该数据头的该第二码率的视频流数据为码率切换后的视频流数据,故电子设备可以根据码率切换标识确定第二码率的视频流数据的数据头,再根据该数据头确定第二码率的视频流数据。对应步骤301中缓冲区1的举例,播放引擎可以从缓冲区1中获取第二码率的视频数据,并对其进行渲染,从而在图5中的“a_通道1”所在区域呈现清晰度切换后的视频画面。
通过在保持原有播放通道不变的情况下,进行不同码率的视频流数据的渲染,优化了播放引擎的视频渲染过程,与相关技术中建立另一路播放通道来渲染不同码率的视频流数据相比,本发明减少了创建播放通道的数量,避免了建立新的播放通道占用资源和耗时的问题,从内存消耗上进行了实质性的优化,从某种意义上扩大了播放引擎所支持最大播放数量(按照相关技术,假如播放引擎支持的默认最大通道数是16路,由于码率切换需求,则并发最大切换数会变成8路,而按照现有方案,则不受影响,最大支持数仍然是16路,即图5中可以同时呈现16路视频画面的并发切换)。
需要说明的是,步骤303是以服务器对第二码率的视频流数据进行筛选后发送给电子设备为例进行说明,实际上,服务器也可以不对第二码率的视频流数据进行筛选,而将第二码率的视频流数据全部发送给电子设备,由电子设备来进行筛选。具体地,电子设备可以根据该第二码率的视频流数据携带的码率切换标识,从电子设备已接收的视频流数据中确定该第二码率的视频流数据;根据该第一码率的视频流数据的最后一个关键帧,确定该第二码率的视频流数据中的起始关键帧,该起始关键帧的时间戳晚于该第一码率视频流数据的最后一个关键帧的时间戳;当第一码率视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。在一种可能实现方式中,电子设备可以将该第二码率的视频流数据的目标关键帧存储至当前播放通道对应的缓冲区中,该目标关键帧包括该第二码率的视频流数据的起始关键帧以及时间戳晚于该起始关键帧的其他关键帧,播放引擎从该缓冲区中获取第二码率的视频流数据的目标关键帧进行渲染。
当然,对该目标视频流数据进行渲染之前,为了保证画面仍能正常播放,电子设备可以对该第一码率的视频流数据进行渲染,以显示该第一码率的视频流数据的播放画面。在第一码率的视频流数据的最后一个关键帧渲染完毕后,电子设备可以直接从第二码率的视频流数据的起始关键帧开始,对第二码率的视频流数据进行渲染,从而保证实时码率切换的无缝过渡,同时也避免了取流通道和播放通道的再次建立,进而降低了取流过程以及渲染过程的多余操作。
本发明实施例提供的方法,通过一条码率切换信令来指示服务器获取不同码率的视频流数据,并在已有取流通道上传输码率切换后的视频流数据,且基于已有播放通道,对码率切换后的视频流数据进行渲染,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
图8是本发明实施例提供的一种视频切换装置的结构示意图。参照图8,该装置包括:
发送模块801,用于在视频的播放过程中,向服务器发送码率切换信令,该码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
接收模块802,用于通过该取流通道,接收该服务器发送的该第二码率的视频流数据;
渲染模块803,用于基于当前播放通道,对该第二码率的视频流数据进行渲染。
可选地,该渲染模块803,用于根据该第一码率的视频流数据的最后一个关键帧,确定该第二码率的视频流数据的起始关键帧,该起始关键帧的时间戳晚于该第一码率的视频流数据的最后一个关键帧的时间戳;当该第一码率的视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。
可选地,参见图9,该装置还包括:
存储模块804,用于将该第二码率的视频流数据的目标关键帧存储至播放引擎的缓冲区中,该缓冲区对应该当前播放通道,不同缓冲区对应于不同播放通道,该目标关键帧包括该第二码率的视频流数据的起始关键帧以及时间戳晚于该起始关键帧的其他关键帧。
可选地,该接收模块802,还用于接收该服务器采用指定会话描述格式发送的该第二码率的视频流数据的数据头和码率切换标识,该码率切换标识用于指示具有该数据头的该第二码率的视频流数据为码率切换后的视频流数据。
可选地,参见图10,该装置还包括:
调用模块805,用于调用播放引擎中的预设接口,将该第二码率的视频流数据的数据头和该码率切换标识传递给该播放引擎,该预设接口为该播放引擎中增加的接口。
可选地,参见图11,该装置还包括:
确定模块806,用于根据该第二码率的视频流数据的数据头和该码率切换标识,从电子设备已接收的视频流数据中确定该第二码率的视频流数据。
可选地,该码率切换信令为启动SETUP信令或自定义的信令,该SETUP信令携带固定参数。
本发明实施例中,通过一条码率切换信令来指示服务器传输不同码率的视频流数据,并通过已有取流通道接收码率切换后的视频流数据,且基于已有播放通道,对码率切换后的视频流数据进行渲染,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
图12是本发明实施例提供的一种视频切换装置的结构示意图。参照图12,该装置包括:
接收模块1201,用于接收电子设备的码率切换信令,该码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
获取模块1202,用于获取该第二码率的视频流数据;
发送模块1203,用于通过该取流通道,向该电子设备发送该第二码率的视频流数据。
可选地,该获取模块1202,用于从前端设备获取该第二码率的视频流数据,该前端设备用于视频流数据的实时采集。
可选地,该发送模块1203,用于当该第二码率的视频流数据的第一个关键帧发送完成后,停止发送该第一码率的视频流数据,向该电子设备继续发送该第二码率的剩余视频流数据。
可选地,该发送模块1203,还用于采用指定会话描述格式,向该电子设备发送该第二码率的视频流数据的数据头和码率切换标识,该码率切换标识用于指示具有该数据头的该第二码率的视频流数据为码率切换后的视频流数据。
本发明实施例中,基于一条码率切换信令,获取不同码率的视频流数据,并通过已有取流通道上向电子设备传输码率切换后的视频流数据,由电子设备基于已有播放通道,对码率切换后的视频流数据进行渲染,无需建立新的通道,避免了建立新的通道占用资源和耗费时间的问题,不仅节省了资源,也提高了视频的切换速度。
需要说明的是:上述实施例提供的视频切换装置在切换视频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频切换装置与视频切换方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13是本发明实施例提供的一种电子设备1300的结构示意图。参见图13,该电子设备1300包括处理器、通信接口、存储器和通信总线,还可以包括输入输出接口和显示设备,其中,处理器、存储器、输入输出接口、显示设备和通信接口通过通信总线完成相互间的通信。该存储器存储有计算机程序,该处理器用于执行存储器上所存放的计算机程序,实现上述图图1、图2或图3实施例中的视频切换方法。
通信总线是连接所描述的元素的电路并且在这些元素之间实现传输。例如,处理器通过通信总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序编程接口(Application Programming Interface,API)和应用。该程序模块可以是有软件、固件或硬件、或其中的至少两种组成。输入输出接口转发用户通过输入输出设备(例如感应器、键盘、触摸屏)输入的命令或数据。显示设备显示各种信息给用户。通信接口将该电子设备1300与其它网络设备、用户设备、网络进行连接。例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的网络设备或用户设备。无线通信可以包括以下至少一种:无线保真(Wireless Fidelity,WiFi),蓝牙(Bluetooth,BT),近距离无线通信技术(NearField Communication,NFC),全球卫星定位系统(Global Positioning System,GPS)和蜂窝通信(cellular communication)(例如,长期演进技术(Long Term Evolution,LTE),长期演进技术的后续演进(Long Term Evolution–Advanced,LTE-A),码分多址(CodeDivision Multiple Access,CDMA),宽带码分多址(Wideband CDMA,WCDMA),通用移动通信系统(Universal Mobile Telecommunication System,UMTS),无线宽带接入(WirelessBroadband,WiBro)和全球移动通讯系统(Global System for Mobile communication,GSM)。有线通信可以包括以下至少一种:通用串行总线(Universal Serial Bus,USB),高清晰度多媒体接口(High Definition Multimedia Interface,HDMI),异步传输标准接口(Recommended Standard 232,RS-232),和普通老式电话业务(Plain Old TelephoneService,POTS)。网络可以是电信网络和通信网络。通信网络可以为计算机网络、因特网、物联网、电话网络。电子设备1300可以通过通信接口连接网络,电子设备1300和其它网络设备通信所用的协议可以被应用、应用程序编程接口(Application Programming Interface,API)、中间件、内核和通信接口至少一个支持。
在示例性实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,上述计算机程序被处理器执行时实现上述实施例图1或图3中电子设备侧的视频切换方法。例如,所述计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
图14是本发明实施例提供的一种服务器1400的结构示意图。参照图14,服务器1400包括处理组件1422,其进一步包括一个或多个处理器,以及由存储器1432所代表的存储器资源,用于存储可由处理组件1422的执行的指令,例如应用程序。存储器1432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1422被配置为执行指令,以执行上述视频切换方法。
服务器1400还可以包括一个电源组件1426被配置为执行服务器1400的电源管理,一个有线或无线网络接口1450被配置为将服务器1400连接到网络,和一个输入输出(I/O)接口1458。服务器1400可以操作基于存储在存储器1432的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,上述计算机程序被处理器执行时实现上述实施例图2或图3中服务器侧的视频切换方法。例如,所述计算机可读存储介质可以是只读内存(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,上述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (26)
1.一种视频切换方法,其特征在于,所述方法包括:
在视频的播放过程中,向服务器发送码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
通过所述取流通道,接收所述服务器发送的所述第二码率的视频流数据;
基于当前播放通道,对所述第二码率的视频流数据进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述对所述第二码率的视频流数据进行渲染包括:
根据所述第一码率的视频流数据的最后一个关键帧,确定所述第二码率的视频流数据的起始关键帧,所述起始关键帧的时间戳晚于所述第一码率的视频流数据的最后一个关键帧的时间戳;
当所述第一码率的视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。
3.根据权利要求2所述的方法,其特征在于,所述当所述最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染之前,所述方法还包括:
将所述第二码率的视频流数据的目标关键帧存储至播放引擎的缓冲区中,所述缓冲区对应所述当前播放通道,不同缓冲区对应于不同播放通道,所述目标关键帧包括所述第二码率的视频流数据的起始关键帧以及时间戳晚于所述起始关键帧的其他关键帧。
4.根据权利要求1所述的方法,其特征在于,所述接收所述服务器发送的所述第二码率的视频流数据之前,所述方法还包括:
接收所述服务器采用指定会话描述格式发送的所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
5.根据权利要求4所述的方法,其特征在于,所述接收所述服务器采用指定会话描述格式发送的所述第二码率的视频流数据的数据头和码率切换标识之后,所述方法还包括:
调用播放引擎中的预设接口,将所述第二码率的视频流数据的数据头和所述码率切换标识传递给所述播放引擎,所述预设接口为所述播放引擎中增加的接口。
6.根据权利要求4所述的方法,其特征在于,所述对所述第二码率的视频流数据进行渲染之前,所述方法还包括:
根据所述第二码率的视频流数据的数据头和所述码率切换标识,从电子设备已接收的视频流数据中确定所述第二码率的视频流数据。
7.根据权利要求1所述的方法,其特征在于,所述码率切换信令为启动SETUP信令或自定义的信令,所述SETUP信令携带固定参数。
8.一种视频切换方法,其特征在于,所述方法包括:
接收电子设备的码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
获取所述第二码率的视频流数据;
通过所述取流通道,向所述电子设备发送所述第二码率的视频流数据。
9.根据权利要求8所述的方法,其特征在于,所述获取所述第二码率的视频流数据包括:
从前端设备获取所述第二码率的视频流数据,所述前端设备用于视频流数据的实时采集。
10.根据权利要求8所述的方法,其特征在于,所述向所述电子设备发送所述第二码率的视频流数据包括:
当所述第二码率的视频流数据的第一个关键帧发送完成后,停止发送所述第一码率的视频流数据,向所述电子设备继续发送所述第二码率的剩余视频流数据。
11.根据权利要求8所述的方法,其特征在于,所述向所述电子设备发送所述第二码率的视频流数据之前,所述方法还包括:
采用指定会话描述格式,向所述电子设备发送所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
12.一种视频切换装置,其特征在于,所述装置包括:
发送模块,用于在视频的播放过程中,向服务器发送码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
接收模块,用于通过所述取流通道,接收所述服务器发送的所述第二码率的视频流数据;
渲染模块,用于基于当前播放通道,对所述第二码率的视频流数据进行渲染。
13.根据权利要求12所述的装置,其特征在于,所述渲染模块,用于根据所述第一码率的视频流数据的最后一个关键帧,确定所述第二码率的视频流数据的起始关键帧,所述起始关键帧的时间戳晚于所述第一码率的视频流数据的最后一个关键帧的时间戳;当所述第一码率的视频流数据的最后一个关键帧渲染完成后,从所述起始关键帧开始继续对所述第二码率的视频流数据进行渲染。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
存储模块,用于将所述第二码率的视频流数据的目标关键帧存储至播放引擎的缓冲区中,所述缓冲区对应所述当前播放通道,不同缓冲区对应于不同播放通道,所述目标关键帧包括所述第二码率的视频流数据的起始关键帧以及时间戳晚于所述起始关键帧的其他关键帧。
15.根据权利要求12所述的装置,其特征在于,所述接收模块,还用于接收所述服务器采用指定会话描述格式发送的所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
调用模块,用于调用播放引擎中的预设接口,将所述第二码率的视频流数据的数据头和所述码率切换标识传递给所述播放引擎,所述预设接口为所述播放引擎中增加的接口。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据所述第二码率的视频流数据的数据头和所述码率切换标识,从电子设备已接收的视频流数据中确定所述第二码率的视频流数据。
18.根据权利要求12所述的装置,其特征在于,所述码率切换信令为启动SETUP信令或自定义的信令,所述SETUP信令携带固定参数。
19.一种视频切换装置,其特征在于,所述装置包括:
接收模块,用于接收电子设备的码率切换信令,所述码率切换信令用于指示将当前取流通道中的第一码率的视频流数据切换为第二码率的视频流数据,不同码率对应不同清晰度;
获取模块,用于获取所述第二码率的视频流数据;
发送模块,用于通过所述取流通道,向所述电子设备发送所述第二码率的视频流数据。
20.根据权利要求19所述的装置,其特征在于,所述获取模块,用于从前端设备获取所述第二码率的视频流数据,所述前端设备用于视频流数据的实时采集。
21.根据权利要求19所述的装置,其特征在于,所述发送模块,用于当所述第二码率的视频流数据的第一个关键帧发送完成后,停止发送所述第一码率的视频流数据,向所述电子设备继续发送所述第二码率的剩余视频流数据。
22.根据权利要求19所述的装置,其特征在于,所述发送模块,还用于采用指定会话描述格式,向所述电子设备发送所述第二码率的视频流数据的数据头和码率切换标识,所述码率切换标识用于指示具有所述数据头的所述第二码率的视频流数据为码率切换后的视频流数据。
23.一种电子设备,其特征在于,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,实现权利要求1-7任一项所述的方法步骤。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法步骤。
25.一种服务器,其特征在于,包括处理器和存储器;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的计算机程序,实现权利要求8-11任一项所述的方法步骤。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8-11任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710823550.7A CN109495761A (zh) | 2017-09-13 | 2017-09-13 | 视频切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710823550.7A CN109495761A (zh) | 2017-09-13 | 2017-09-13 | 视频切换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109495761A true CN109495761A (zh) | 2019-03-19 |
Family
ID=65687883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710823550.7A Pending CN109495761A (zh) | 2017-09-13 | 2017-09-13 | 视频切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495761A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110139148A (zh) * | 2019-05-22 | 2019-08-16 | 武汉瓯越网视有限公司 | 一种视频切换清晰度的方法及相关装置 |
CN110166810A (zh) * | 2019-04-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频渲染引擎切换方法、装置、设备及可读存储介质 |
CN110636338A (zh) * | 2019-09-17 | 2019-12-31 | 北京百度网讯科技有限公司 | 一种视频清晰度的切换方法、装置、电子设备及存储介质 |
CN111541916A (zh) * | 2020-04-17 | 2020-08-14 | 海信视像科技股份有限公司 | 码流传输方法及设备 |
CN111866433A (zh) * | 2020-07-31 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 视频源切换方法、播放方法、装置、设备和存储介质 |
CN112637661A (zh) * | 2020-12-22 | 2021-04-09 | 广州博冠信息科技有限公司 | 视频流的切换方法及装置、计算机存储介质、电子设备 |
CN112887755A (zh) * | 2019-11-29 | 2021-06-01 | 北京百度网讯科技有限公司 | 用于播放视频的方法和装置 |
CN113259729A (zh) * | 2020-02-10 | 2021-08-13 | 北京字节跳动网络技术有限公司 | 数据切换的方法、服务器、系统及存储介质 |
CN113936365A (zh) * | 2021-11-25 | 2022-01-14 | 青岛海信智慧生活科技股份有限公司 | 一种远程开锁方法及装置 |
CN114071187A (zh) * | 2020-07-31 | 2022-02-18 | 海信视像科技股份有限公司 | 显示设备、服务器及分辨率快速切换方法 |
CN114143600A (zh) * | 2021-11-23 | 2022-03-04 | 广州市百果园信息技术有限公司 | 直播画面调整方法、装置、设备和存储介质 |
CN114302195A (zh) * | 2021-01-14 | 2022-04-08 | 海信视像科技股份有限公司 | 一种显示设备、外接设备以及播放控制方法 |
CN114302172A (zh) * | 2021-12-28 | 2022-04-08 | 威创集团股份有限公司 | 无缝切换方法、分布式拼接系统、存储介质及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008030032A2 (en) * | 2006-09-05 | 2008-03-13 | Lg Electronics Inc. | Method of transmitting link-adaptive transmission of data stream in a mobile communication system |
CN102595204A (zh) * | 2012-02-28 | 2012-07-18 | 华为终端有限公司 | 一种流媒体传输方法、设备及系统 |
CN104703051A (zh) * | 2014-01-06 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 码流发送方法和装置 |
CN104837032A (zh) * | 2014-02-11 | 2015-08-12 | 北京信威通信技术股份有限公司 | 一种视频监控系统中动态调整编码器分辨率的方法 |
CN105847265A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种视频直播流转码方法及装置 |
CN106131610A (zh) * | 2016-06-28 | 2016-11-16 | 乐视控股(北京)有限公司 | 在线播放视频的方法、设备及装置 |
-
2017
- 2017-09-13 CN CN201710823550.7A patent/CN109495761A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008030032A2 (en) * | 2006-09-05 | 2008-03-13 | Lg Electronics Inc. | Method of transmitting link-adaptive transmission of data stream in a mobile communication system |
CN102595204A (zh) * | 2012-02-28 | 2012-07-18 | 华为终端有限公司 | 一种流媒体传输方法、设备及系统 |
CN104703051A (zh) * | 2014-01-06 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 码流发送方法和装置 |
CN104837032A (zh) * | 2014-02-11 | 2015-08-12 | 北京信威通信技术股份有限公司 | 一种视频监控系统中动态调整编码器分辨率的方法 |
CN105847265A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种视频直播流转码方法及装置 |
CN106131610A (zh) * | 2016-06-28 | 2016-11-16 | 乐视控股(北京)有限公司 | 在线播放视频的方法、设备及装置 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166810A (zh) * | 2019-04-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频渲染引擎切换方法、装置、设备及可读存储介质 |
CN110139148A (zh) * | 2019-05-22 | 2019-08-16 | 武汉瓯越网视有限公司 | 一种视频切换清晰度的方法及相关装置 |
CN110139148B (zh) * | 2019-05-22 | 2021-05-28 | 武汉瓯越网视有限公司 | 一种视频切换清晰度的方法及相关装置 |
CN110636338A (zh) * | 2019-09-17 | 2019-12-31 | 北京百度网讯科技有限公司 | 一种视频清晰度的切换方法、装置、电子设备及存储介质 |
CN112887755A (zh) * | 2019-11-29 | 2021-06-01 | 北京百度网讯科技有限公司 | 用于播放视频的方法和装置 |
CN113259729A (zh) * | 2020-02-10 | 2021-08-13 | 北京字节跳动网络技术有限公司 | 数据切换的方法、服务器、系统及存储介质 |
CN111541916A (zh) * | 2020-04-17 | 2020-08-14 | 海信视像科技股份有限公司 | 码流传输方法及设备 |
CN111866433B (zh) * | 2020-07-31 | 2021-06-29 | 腾讯科技(深圳)有限公司 | 视频源切换方法、播放方法、装置、设备和存储介质 |
CN111866433A (zh) * | 2020-07-31 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 视频源切换方法、播放方法、装置、设备和存储介质 |
WO2022022193A1 (zh) * | 2020-07-31 | 2022-02-03 | 腾讯科技(深圳)有限公司 | 视频源切换方法、播放方法、装置、设备和存储介质 |
CN114071187A (zh) * | 2020-07-31 | 2022-02-18 | 海信视像科技股份有限公司 | 显示设备、服务器及分辨率快速切换方法 |
CN114071187B (zh) * | 2020-07-31 | 2024-02-27 | 海信视像科技股份有限公司 | 显示设备、服务器及分辨率快速切换方法 |
CN112637661A (zh) * | 2020-12-22 | 2021-04-09 | 广州博冠信息科技有限公司 | 视频流的切换方法及装置、计算机存储介质、电子设备 |
CN112637661B (zh) * | 2020-12-22 | 2022-08-05 | 广州博冠信息科技有限公司 | 视频流的切换方法及装置、计算机存储介质、电子设备 |
CN114302195A (zh) * | 2021-01-14 | 2022-04-08 | 海信视像科技股份有限公司 | 一种显示设备、外接设备以及播放控制方法 |
CN114143600A (zh) * | 2021-11-23 | 2022-03-04 | 广州市百果园信息技术有限公司 | 直播画面调整方法、装置、设备和存储介质 |
CN113936365A (zh) * | 2021-11-25 | 2022-01-14 | 青岛海信智慧生活科技股份有限公司 | 一种远程开锁方法及装置 |
CN114302172A (zh) * | 2021-12-28 | 2022-04-08 | 威创集团股份有限公司 | 无缝切换方法、分布式拼接系统、存储介质及计算机设备 |
CN114302172B (zh) * | 2021-12-28 | 2023-08-18 | 威创集团股份有限公司 | 无缝切换方法、分布式拼接系统、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495761A (zh) | 视频切换方法及装置 | |
US11095701B2 (en) | Method and apparatus for providing adaptive streaming service | |
WO2022095795A1 (zh) | 通信方法、装置、计算机可读介质及电子设备 | |
CN108476508B (zh) | 下行数据包配置方法及装置 | |
CN109246462A (zh) | 一种视频流无缝切换方法及装置 | |
JP2007089188A (ja) | テレビ電話機能を備えた移動通信端末機及び移動通信端末機のテレビ電話制御方法 | |
KR20150120488A (ko) | 서비스 제공 시스템 및 방법, 및 모바일 에지 애플리케이션 서버 및 지원 노드 | |
US8078173B2 (en) | Data transfer system, approach notification system and data transfer method | |
JP2009506611A (ja) | マルチメディア・ストリームにおいてデバイスが非同期を実行するように又は同期遅延を含むように装置に信号通知するための方法 | |
CN108932948A (zh) | 音频数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN109547812A (zh) | 一种直播方法、装置、移动终端与存储介质 | |
CN106658065B (zh) | 音视频同步方法、装置及系统 | |
CN110943977B (zh) | 多媒体业务数据传输方法、服务端、设备及存储介质 | |
CN112584194A (zh) | 视频码流的推送方法、装置、计算机设备和存储介质 | |
JP5812634B2 (ja) | 送信装置及び送信方法、並びにプログラム | |
EP2312826A2 (en) | Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system | |
CN109729438B (zh) | 一种发送视频包、接收视频包的方法及装置 | |
CN114189696A (zh) | 一种视频播放方法及设备 | |
WO2023231478A1 (zh) | 音视频共享方法、设备及计算机可读存储介质 | |
CN111901634B (zh) | 流媒体的点播方法、设备以及计算机可读存储介质 | |
CN109640040B (zh) | 一种视频传输的方法、装置、系统及服务器 | |
CN101552684B (zh) | 实时流媒体协议会话状态控制的方法、装置和系统 | |
KR102064517B1 (ko) | 적응적인 동영상 서비스 제어 방법 및 그 장치 | |
KR102419087B1 (ko) | 미디어 스트리밍 제어 장치 및 방법 | |
US7817576B1 (en) | Transitioning between multiple data streams of a media channel based on client conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190319 |
|
RJ01 | Rejection of invention patent application after publication |