CN110798713B - 时移电视点播方法、终端、服务器及系统 - Google Patents
时移电视点播方法、终端、服务器及系统 Download PDFInfo
- Publication number
- CN110798713B CN110798713B CN201911025986.7A CN201911025986A CN110798713B CN 110798713 B CN110798713 B CN 110798713B CN 201911025986 A CN201911025986 A CN 201911025986A CN 110798713 B CN110798713 B CN 110798713B
- Authority
- CN
- China
- Prior art keywords
- stream content
- server
- content
- scrambled
- demand
- 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
Links
Images
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种时移电视点播方法、终端、服务器及系统,其中方法包括:向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容,接收并播放由服务器返回的所述明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容,接收由服务器返回的加扰流内容,将所述加扰流内容与已收到的明流内容进行对比,从加扰流内容中确定继续播放的位置,以继续播放时移电视。本发明实施例能完成音视频数据的无缝衔接,时移数据无丢失,对用户观看时移节目无影响,提高用户体验。
Description
技术领域
本发明涉及电视广播技术领域,更具体地,涉及时移电视点播方法、终端、服务器及系统。
背景技术
在有线电视时移电视领域中,通常有两种方式实现时移电视功能。
一、明流机制。直接采用明流录制方式,获得明流内容,明流内容中记录I帧及时间位置,当用户终端进行时移频道点播时,服务器端直接精准定位到明流内容中离请求时间点最近的I帧位置,从该位置进行音视频数据的下发,终端接收音视频数据,直接进行播放。
二、加扰流机制。直接采用加扰流录制方式,获得加扰流内容,加扰流内容中无法解析视频的I帧位置,只记录节目录制内容的时间位置,当用户终端进行频道点播时,服务器端查找到加扰流内容中最近时间点位置,进行数据下发,终端接收数据、解扰、播放视频。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:
一、明流机制在点播时可以直接定位到对应位置进行播放,终端接收服务器端下发来的数据,立即可以播放。但是,明流机制的缺点也非常明显,其管理功能不足,安全性欠缺。对于稍有数字电视基础的用户,只要使用简单射频分析工具,就能轻易获取其他用户的视频信息,并观看节目;更甚者,可以将获取的信息大面积广播,扰乱运营秩序,给运营造成严重损失。
二、加扰流机制只能解析出节目的位置,不能精确记录I帧位置。在用户终端点播时,服务器端只能找到对应时间点的位置开始下发数据,对应位置处在GOP的位置不确定,如果不是I帧开头,终端收到这部分数据解扰后不能进行解码播放视频,只等待新的I帧到来后,才能正常播放,这样使得时移点播的速度变慢,影响用户体验。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的时移电视点播方法、终端、服务器及系统。
第一个方面,本发明实施例提供一种时移电视点播方法,应用于终端,所述方法包括:
向服务器发送第一点播请求,所述第一点播请求用于请求服务请发送目标节目和点播时间点的明流内容;
接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容;
接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述衔接位置处继续播放解扰后的加扰流内容。
优选地,所述确定加扰流内容中衔接明流内容的位置,具体为:
确定明流内容中最后i个音视频音/视频TS包的MD5值和解扰后的加扰流内容中每个音/视频TS包的MD5值;
若从解扰后的加扰流内容中的第j个音/视频TS包开始的i个音视频音/视频TS包的MD5值与明流内容中最后i个音/视频TS包的MD5值相同,记录最后一个相同音视频音/视频TS包在整个加扰序列的位置为x,则将解扰后的加扰流内容中的第x+1个音/视频TS包衔接在所述明流内容的末尾进行播放,同时将第x+1个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置;
其中,i和j均为整数,1<i,0<j。
优选地,所述预设时间由统计的明流内容中的GOP数目决定。
优选地,所述GOP数目的预设阈值的计算方法为:
令I帧时间间隔为T,GOP数目的预设阈值为N,则:
当T小于1s时,N为3s/T;当T大于1s时,N为6s/T。
优选地,所述确定衔接明流内容的位置,具体为:
确定明流内容中最后m个PCR包和解扰后的加扰流内容中每个PCR包;
若从解扰后的加扰流内容中的第k个PCR包开始的m个PCR包与明流内容中的最后m个PCR包相同,那么从第k+m-n个PCR包开始的MD5值开始,与明流内容倒数第n个PCR包后续的音/视频TS包的MD5值进行比对;
定义从第k+m-n个PCR包开始的第一个音/视频TS包为解扰后的加扰流内容中的第p个音/视频TS包,明流内容从倒数第n个PCR包到结束有r个音/视频TS包;
若所述第p个音/视频TS包后的第q个音/视频TS包的MD5值与明流内容倒数第r个音/视频TS包后续的音/视频TS包的MD5值均相同,则将所述第p+q后第r个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置;
其中,k、m、n、p、r均为正整数,q为不小于0的整数,且0<n<m,(k+m-n)<p,n≤r。
第二个方面,本发明实施例提供一种时移电视点播方法,应用于服务器,所述方法包括:
同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;
接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
优选地,所述发送符合所述第一点播请求的明流内容,具体为:
采用a倍节目速度发送所述明流内容;
相应地,所述发送符合所述第二点播请求的加扰流内容,具体为:
先采用b倍节目速度发送加扰流内容,当发送的音/视频TS包和已发送的明流内容的音/视频TS包的数量一样多时,变更为采用1倍节目速度发送加扰流内容;
其中,1<b<a。
第三方面,本发明实施例提供一种终端,包括:
第一请求发送模块,用于向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
第二请求发送模块,用于接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容;
衔接模块,用于接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述位置处继续播放解扰后的加扰流内容。
第四方面,本发明实施例提供一种服务器,包括:
录制模块,用于同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;
明流发送模块,用于接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
加扰流发送模块,用于接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
第五方面,本发明实施例提供一种时移电视点播系统,包括如第三方面所述的终端以及如第四方面所述的服务器。
第六方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所提供的方法的步骤。
第七方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第二方面所提供的方法的步骤。
本发明实施例提供的时移电视点播方法、终端、服务器及系统,通过先接收明流内容,预设时间后停止接收明流内容并接收加扰流内容,通过将加扰流内容与已收到的明流进行对比,完成音视频数据的无缝衔接,时移数据无丢失,对用户观看时移节目无影响,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的时移电视点播方法在终端侧的流程示意图;
图2为本发明实施例提供的时移电视点播方法在服务器侧的流程示意图;
图3为本发明实施例提供的终端的结构示意图;
图4为本发明实施例提供的服务器的结构示意图;
图5为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地理解本发明实施例的技术方案,先对本发明涉及的专业名词进行解释:
I帧(Intra cpded frames):I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I帧使用帧内压缩,不使用运动补偿,由于I帧不依赖其它帧,所以是随机存取的入点,同时是解码的基准帧。I帧主要用于接收机的初始化和信道的获取,以及节目的切换和插入,I帧图像的压缩倍数相对较低。I帧图像是周期性出现在图像序列中的,出现频率可由编码器选择。I帧和IDR帧都是使用帧内预测的。它们是同一个东西,在编码和解码中为了方便,出于将首个I帧和其他I帧区别开的目的,把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由IDR帧承担。IDR帧会导致DPB(DecpdedPictureBuffer参考帧列表——这是关键所在)清空,而I帧不会。IDR帧一定是I帧,但I帧不一定是IDR帧。一个序列中可以有很多的I帧,I帧之后的帧可以引用I帧之间的帧做运动参考。一个序列中可以有很多的I帧,I帧之后的图象可以引用I帧之间的帧做运动参考。
GOP即Group pf picture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离。一个I帧所占用的字节数大于一个P帧,一个P帧所占用的字节数大于一个B帧。所以在码率不变的前提下,GOP值越大,P、B帧的数量会越多,平均每个I、P、B帧所占用的字节数就越多,也就更容易获取较好的图像质量;Reference越大,B帧的数量越多,同理也更容易获得较好的图像质量。
明流内容和解扰后的加扰流内容的数据都是由一系列TS包构成,TS即"TranspprtStream"的缩写,每一个TS包长为188字节,TS包可能存在空包,非空包的TS包包括音频TS包、视频TS包,在本发明实施例中以音/视频TS包来表示。每隔一段时间,音/视频TS包中就会出现一个特殊的TS包,该包中记录了PCR值,因此也称之为PCR包,指示系统时钟本身的瞬时值的时间标签称为节目参考时钟标签(PCR,Prpgram Clpck Reference),PCR值是由直播源生成的。
MD5,英文:MD5 Message-Digest Algprithm,中文:MD5信息摘要算法,是一种密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
为了克服现有技术的上述问题,本发明实施例提供一种时移电视点播方法,该方法应用于终端,可以理解的是,本发明实施例的终端可以是机顶盒、手机、平板电脑、PC等等。图1为本发明实施例提供的时移电视点播方法在终端侧的流程示意图,如图1所示,包括:
S101、向服务器发送第一点播请求,所述第一点播请求用于请求目标节目和点播时间点的明流内容。
本发明实施例中时移节目的I帧均指IDR帧。由于服务器在录制明流内容时记录了I帧以及实际位置,从而服务器可以精准定位到离点播时间点最近的I帧位置的明流内容,而加扰流由于无法解析视频的I帧位置,只记录节目录制内容的时码位置,在用户终端点播时,服务器端只能找到对应时间点的位置开始下发数据,对应位置处在GOP的位置不确定,如果不是I帧开头,终端收到这部分数据解扰后不能进行立即解码播放视频,只等待新的I帧到来后,才能正常播放,因此本发明实施例首先向服务器请求明流内容。
可以理解的是,本发明实施例的点播时间点是一个历史时间,例如用户当前时刻为2019年10月5日,点播时间点是2019年10月1日08点00分,并且需要注意的是,点播时间点并不是一个相对时间,例如用户想看2019年10月1日的某节目,假设该节目从2019年10月1日07点30分起播,时长为80分钟,点播时间点并不是“起播10分钟时”这样的时间,而是一个确定的绝对时间,例如2019年10月1日08点00分。
S102、接收并播放由服务器返回的所述明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
可以理解的是,当服务器接收到第一点播请求后,可以直接精准定位到离点播时间点最近的I帧位置,并从I帧位置开始持续发送明流内容,终端接收明流内容后也开始持续播放明流内容,通过缓存一段时间的明流内容,可以预留出来时间和内容进行后续的数据流切换和对比,当播放预设时间后的明流内容后,终端向服务器请求停止继续发送明流内容并切换到加扰流。
S103、接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述衔接位置处继续播放解扰后的加扰流内容。
可以理解的是,当终端发送第二点播请求后,服务器会从加扰流内容中找到距离点播时间点最近的位置,从该位置向后获取数据发送,终端接收加扰流并解扰,与已收到的明流进行对比,完成音视频数据的无缝衔接,时移数据无丢失,对用户观看时移节目无影响。
MD5信息是根据时移内容生成的,因此同一时刻的时移内容,无论是在明流内容中还是在加扰流内容中都是一致的,因此可以通过比对MD5信息,若发现出解扰后的加扰流内容中从某一个位置开始与明流内容中的MD5信息一致,则可以确定出衔接的位置。
需要说明的是,本发明实施例的时移电视点播方法通过先接收明流内容,预设时间后停止接收明流内容并接收加扰流内容,通过将加扰流内容与已收到的明流进行对比,完成音视频数据的无缝衔接,时移数据无丢失,对用户观看时移节目无影响,提高用户体验。
在上述各实施例的基础上,作为一种可选实施例,确定加扰流内容中衔接明流内容的位置,具体为:
S201、确定明流内容中最后i个音/视频TS包的MD5值和解扰后的加扰流内容中每个音/视频TS包的MD5值,i为大于1的整数。
本发明实施例的终端在接收到明流内容或者加扰流内容后,都会实时进行解析,确定音/视频TS包的MD5值。
S202、若从解扰后的加扰流内容中的第j个音/视频TS包开始的i个音/视频TS包的MD5值与明流内容中最后i个音/视频TS包的MD5值相同,则将解扰后的加扰流内容中的第i+j个音/视频TS包衔接在所述明流内容的末尾进行播放,同时将第i+j个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置。
例如,本发明实施例确定明流内容中最后5个音/视频TS包的MD5值为1、2、3、4、5,若解扰后的加扰流内容中第15~19个音/视频TS包开始的MD5值也是1、2、3、4、5,那么就将加扰流内容中的第20个音/视频TS包衔接在所述明流内容的末尾进行播放,同时将第20个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置。
需要说明的是,本发明实施例通过计算每个加扰流内容中音/视频TS包的MD5值,并和明流内容中的最后几个音/视频TS包的MD5值进行比对,确定衔接明流内容的位置,本发明实施例基于MD5值能够精准地确定出衔接的位置。
需要注意的是,终端在接收到明流内容后,如果缓存数据太少,容易因为网络传输问题导致明流内容播放完了,加扰流数据还没发送到衔接点,而明流数据太多又会造成浪费网络资源,因此如何平衡上述关系就成了一个需要解决的问题。
在上述各实施例的基础上,作为一种可选实施例,所述预设时间由统计的明流内容中的GOP数目决定。
由上述内容可知,GOP是指两个I帧之间的距离,每接收到一个GOP,就意味着出现了一个新的I帧,因此本发明实施例以GOP的数目来决定切换数据源的时间,即只有当接收到完整GOP的次数达到一定条件时,本发明实施例的终端向服务器发送第二点播请求。一般而言,当GOP的数目大于2时,终端可以发送第二点播请求,这样可以预留出来时间进行数据的传输和对比。
在上述实施例的基础上,作为一种可选实施例,所述GOP数目的预设阈值的计算方法为:
令I帧时间间隔为T,GOP数目的预设阈值为N,则:
当T小于1s时,N为3s/T;当T大于1s时,N为6s/T。
例如,当T为0.5秒时,当接收到的GOP数目达到6个时,终端发送第二点播请求,当T为1.5秒时,当接收到的GOP数目达到4个时,终端发送第二点播请求。
在上述各实施例的基础上,作为一种可选实施例,所述确定加扰流内容中衔接明流内容的位置,包括:
S301、确定明流内容中最后m个PCR包和解扰后的加扰流内容中每个PCR包。
需要说明的是,终端接收到加扰内容后需要进行解扰处理,解扰处理后的内容和明流内容一样,都是有一系列的音/视频TS包组成的,这些音/视频TS包中每隔若干个就会出现一个携带PCR值的音/视频TS包,这个携带PCR值的音/视频TS包称之为一个PCR包,PCR值是记录时间的,可以根据PCR值换算成时、分、秒、毫秒,一般情况下,明流和加扰流中若连续多个PCR值都相同,则说明是同一段数据。
S302、若从解扰后的加扰流内容中的第k个PCR包开始的m个PCR包与明流内容中的最后m个PCR包相同,那么从第k+m-n个PCR包开始的MD5值开始,与明流内容倒数第n个PCR包后续的音/视频TS包的MD5值进行比对。
每个音/视频TS包的内容可能一样,也可能不一样。不一样的音/视频TS包生成的MD5值也不一样。如果两个流的几十个MD5值都相同则说明是同一段数据。若采用上述实施例的将加扰流的所有音/视频TS包的MD5与明流内容中的部分音/视频TS包进行比对,将产生非常庞大的计算量,比如在4M码率的节目,一秒钟就存在2788个音/视频TS包。而本发明实施例通过PCR包找出同一段数据流,然后再通过MD5值进行详细位置的判断,一般地,明流内容倒数第二个PCR包后续的音/视频TS包往往只有几十个,显然本发明实施例找寻衔接的位置的方法的计算量远远小于常规技术手段。
S303、定义从第k+m-n个PCR包开始的第一个音/视频TS包为解扰后的加扰流内容中的第p个音/视频TS包,明流内容从倒数第n个PCR包到结束有r个音/视频TS包,若所述第p个音/视频TS包后的第q个音/视频TS包的MD5值与明流内容倒数第r个音/视频TS包后续的音/视频TS包的MD5值均相同,则将所述第p+q后第r个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置;其中,k、m、n、p、r均为正整数,q为不小于0的整数,且0<n<m,n≤r。
例如,假设明流内容的后5(即m)个PCR包的PCR值为a、b、c、d、e,若解扰后的加扰内容从第15(即k)个PCR包开始与明流内容中的后5个PCR包的PCR值一致,那么就从第18(即15+5-2)个PCR包(因为该PCR包与明流内容中倒数第2(即n)个PCR包相同)的MD5值开始,与明流内容中倒数第2个PCR包后续的音/视频TS包的MD5值进行比对。
定义第18个PCR包开始的第一个音/视频TS包为解扰后的加扰流内容中的第40(即p)个音/视频TS包,明流内容从倒数第2个PCR包到结束有6(即r)个音/视频TS包;
若所述第40个音/视频TS包后的第8(即q)个音/视频TS包的MD5值与明流内容倒数第6个TS包后续的音/视频TS包的MD5值均相同,则将所述第48后的第6个音/视频TS包(即第54个TS包)的位置作为加扰流内容中衔接明流内容的位置。
图2为本发明实施例提供的时移电视点播方法在服务器侧的流程示意图,如图2所示,包括:
S401、同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容。
S402、接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容。
可以理解的是,由于第一点播请求中记录目标节目和点播时间点,因此服务器可以直接精准定位到离请求时间点最近的I帧位置,从该位置进行音视频数据的下发,终端接收音视频数据,直接进行播放。
S203、接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
需要说明的是,由于加扰流无法解析视频的I帧位置,只记录节目录制内容的时间位置,因此当用户终端进行频道点播时,服务器端查找到最近时间点位置,进行数据下发。
在上述实施例的基础上,作为一种可选实施例,所述发送符合所述第一点播请求的明流内容,具体为:
采用a倍节目速度发送所述明流内容;
相应地,所述发送符合所述第二点播请求的加扰流内容,具体为:
先采用b倍节目速度发送加扰流内容,当发送的音/视频TS包和已发送的明流内容的音/视频TS包的数量一样多时,变更为采用1倍节目速度发送加扰流内容;其中,1<b<a。
需要说明的是,如果服务器按照1倍节目速度发送明流内容和加扰流内容,可能终端接收完明流内容基本也要播放完明流内容,但如果先以较高的节目速度向终端发送明流,再以次高的节目速度向终端发送加扰流,这样就可以保证明流播放完成后,加扰流有足够的数据进行后续播放了。可选地,a为2.5,b为2。
图3为本发明实施例提供的终端的结构示意图,如图3所示,该终端包括:第一请求发送模块201、第二请求发送模块202和衔接模块203,其中:
第一请求发送模块201,用于向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容。
本发明实施例中时移节目的I帧均为IDR帧。由于服务器在录制明流内容时记录了I帧以及时码位置,从而服务器可以精准定位到离点播时间点最近的I帧位置,而加扰流由于无法解析时频的I帧位置,只记录节目录制内容的时码位置,在用户终端点播时,服务器端只能找到对应时间点的位置开始下发数据,对应位置处在GOP的位置不确定,如果不是I帧开头,终端收到这部分数据解扰后不能进行解码播放视频,只等待新的I帧到来后,才能正常播放,因此本发明实施例首先向服务器请求明流内容。
可以理解的是,本发明实施例的点播时间点是一个历史时间,例如用户当前时刻为2019年10月5日,点播时间点是2019年10月1日08点00分,并且需要注意的是,点播时间点并不是一个相对时间,例如用户想看2019年10月1日的某节目,假设该节目从2019年10月1日07点30份起播,时长为80分钟,点播时间点并不是“起播10分钟时”这样的时间,而是一个确定的绝对时间,例如2019年10月1日08点00分。
第二请求发送模块202,用于接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
可以理解的是,当服务器接收到第一点播请求后,可以直接精准定位到离点播时间点最近的I帧位置,并从I帧位置开始持续发送明流内容,终端接收明流内容后也开始持续播放明流内容,通过缓存一段时间的明流内容,可以预留出来时间和内容进行数据的传输和对比,终端向服务器请求停止继续发送明流内容并切换到加扰流。
衔接模块203,用于接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述位置处继续播放解扰后的加扰流内容。
可以理解的是,当终端发送第二点播请求后,服务器会从加扰流内容中找到距离点播时间点最近的位置,终端接收加扰流并解扰,与已收到的明流进行对比,完成音视频数据的无缝衔接,时移数据无丢失,对用户观看时移节目无影响。
可以理解的是,MD5信息是根据时移内容生成的,因此同一时刻的时移内容,无论是在明流内容中还是在加扰流内容中都是一致的,因此可以通过比对MD5信息,若检索出解扰后的加扰流内容中从某一个位置开始与明流内容中的MD5信息一致,则可以确定出衔接的位置。
本发明实施例提供的终端,具体执行上述各时移电视点播方法在终端侧的实施例流程,具体请详见上述各时移电视点播方法在终端侧实施例的内容,在此不再赘述。本发明实施例提供的终端通过先接收明流内容,预设时间后停止接收明流内容并接收加扰流内容,通过将加扰流内容与已收到的明流进行对比,完成音视频数据的无缝衔接,时移数据无丢失,对用户观看时移节目无影响,提高用户体验。
图4为本发明实施例提供的服务器的结构示意图,如图4所示,该服务器包括:录制模块301、明流发送模块302、加扰流发送模块303,其中:
录制模块301,用于同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;
明流发送模块302,用于接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
加扰流发送模块303,用于接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
本发明实施例还提供一种时移电视点播系统,包括如上述实施例所述的终端和服务器。
图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(prpcesspr)410、通信接口(Cpmmunicatipns Interface)420、存储器(mempry)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储在存储器430上并可在处理器410上运行的计算机程序,以执行上述各实施例提供的时移电视点播方法,例如包括:向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容;接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述位置处继续播放解扰后的加扰流内容;或者,同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Mempry)、随机存取存储器(RAM,Randpm Access Mempry)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的时移电视点播方法,例如包括:向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容;接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述位置处继续播放解扰后的加扰流内容;或者,同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种时移电视点播方法,应用于终端,其特征在于,所述方法包括:
向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容;
接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述位置处继续播放解扰后的加扰流内容。
2.根据权利要求1所述的时移电视点播方法,其特征在于,所述确定加扰流内容中衔接明流内容的位置,具体为:
确定明流内容中最后i个音/视频TS包的MD5值和解扰后的加扰流内容中每个音/视频TS包的MD5值;
若从解扰后的加扰流内容中的第j个音/视频TS包开始的i个音/视频TS包的MD5值与明流内容中最后i个音/视频TS包的MD5值相同,则将解扰后的加扰流内容中的第i+j个音/视频TS包衔接在所述明流内容的末尾进行播放,同时将第i+j个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置;
其中,i和j均为整数,1<i,0<j。
3.根据权利要求1所述的时移电视点播方法,其特征在于,所述预设时间由统计的明流内容中的GOP数目决定。
4.根据权利要求3所述的时移电视点播方法,其特征在于,所述GOP数目的预设阈值的计算方法为:
令I帧时间间隔为T,GOP数目的预设阈值为N,则:
当T小于1s时,N为3s/T;当T大于1s时,N为6s/T。
5.根据权利要求1所述的时移电视点播方法,其特征在于,所述确定加扰流内容中衔接明流内容的位置,具体为:
确定明流内容中最后m个PCR包和解扰后的加扰流内容中每个PCR包;
若从解扰后的加扰流内容中的第k个PCR包开始的m个PCR包与明流内容中的最后m个PCR包相同,那么从第k+m-n个PCR包开始的MD5值开始,与明流内容倒数第n个PCR包后续的音/视频TS包的MD5值进行比对;
定义从第k+m-n个PCR包开始的第一个音/视频TS包为解扰后的加扰流内容中的第p个音/视频TS包,明流内容从倒数第n个PCR包到结束有r个音/视频TS包;
若所述第p个音/视频TS包后的第q个音/视频TS包的MD5值与明流内容倒数第r个音/视频TS包后续的音/视频TS包的MD5值均相同,则将所述第p+q后第r个音/视频TS包的位置作为加扰流内容中衔接明流内容的位置;
其中,k、m、n、p、r均为正整数,q为不小于0的整数,且0<n<m,(k+m-n)<p,n≤r。
6.一种时移电视点播方法,应用于服务器,其特征在于,所述方法包括:
同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;
接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
7.根据权利要求6所述的时移电视点播方法,其特征在于,所述发送符合所述第一点播请求的明流内容,具体为:
采用a倍节目速度发送所述明流内容;
相应地,所述发送符合所述第二点播请求的加扰流内容,具体为:
先采用b倍节目速度发送加扰流内容,当发送的音/视频TS包和已发送的明流内容的音/视频TS包的数量一样多时,变更为采用1倍节目速度发送加扰流内容;
其中,1<b<a。
8.一种终端,其特征在于,包括:
第一请求发送模块,用于向服务器发送第一点播请求,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
第二请求发送模块,用于接收并播放由服务器返回的明流内容,预设时间后向服务器发送第二点播请求,所述第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容;
衔接模块,用于接收由服务器返回的加扰流内容,将所述加扰流内容解扰后与已收到的明流内容进行对比,以确定加扰流内容中衔接明流内容的位置,从所述位置处继续播放解扰后的加扰流内容。
9.一种服务器,其特征在于,包括:
录制模块,用于同时录制明流直播流和加扰直播流,获得明流内容和加扰流内容;
明流发送模块,用于接收终端发送的第一点播请求,以发送符合所述第一点播请求的明流内容,所述第一点播请求用于请求服务器发送目标节目和点播时间点的明流内容;
加扰流发送模块,用于接收终端发送的第二点播请求,以停止发送明流内容以及发送符合所述第二点播请求的加扰流内容,第二点播请求用于请求服务器发送目标节目和点播时间点的加扰流内容以及请求服务器停止发送明流内容。
10.一种时移电视点播系统,其特征在于,包括如权利要求8所述的终端以及如权利要求9所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911025986.7A CN110798713B (zh) | 2019-10-25 | 2019-10-25 | 时移电视点播方法、终端、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911025986.7A CN110798713B (zh) | 2019-10-25 | 2019-10-25 | 时移电视点播方法、终端、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798713A CN110798713A (zh) | 2020-02-14 |
CN110798713B true CN110798713B (zh) | 2021-07-13 |
Family
ID=69441397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911025986.7A Active CN110798713B (zh) | 2019-10-25 | 2019-10-25 | 时移电视点播方法、终端、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110798713B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914695B (zh) * | 2022-03-30 | 2024-08-23 | 青岛海信宽带多媒体技术有限公司 | 智能机顶盒及节目播放进度调整的位置定位方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163227A (zh) * | 2006-10-13 | 2008-04-16 | 中兴通讯股份有限公司 | 一种实现点播电视节目加密的方法 |
CN101282458A (zh) * | 2008-05-12 | 2008-10-08 | 中兴通讯股份有限公司 | 节目预览数据的传输、接收方法和装置 |
CN101980541A (zh) * | 2010-11-23 | 2011-02-23 | 华亚微电子(上海)有限公司 | 数字电视接收装置及其换台方法 |
CN102427561A (zh) * | 2011-10-24 | 2012-04-25 | 山东泰信电子有限公司 | 一种防止vod节目非法传播共享的方法 |
CN103702173A (zh) * | 2014-01-03 | 2014-04-02 | 成都驰通数码系统有限公司 | 对数字电视录制节目片段实施加密和控制的系统 |
CN103873887A (zh) * | 2012-12-13 | 2014-06-18 | 航天信息股份有限公司 | 点播节目的播放方法、装置和系统 |
CN104754399A (zh) * | 2013-12-27 | 2015-07-01 | 北京创维海通数字技术有限公司 | 一种网络节目信息与其回看时移数据的关联方法 |
CN108989895A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种视频处理方法及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7549056B2 (en) * | 1999-03-19 | 2009-06-16 | Broadcom Corporation | System and method for processing and protecting content |
US8068608B2 (en) * | 2007-12-17 | 2011-11-29 | Broadcom Corporation | Video processing system for scrambling video streams with dependent portions and methods for use therewith |
US8782725B2 (en) * | 2009-01-15 | 2014-07-15 | Lg Electronics Inc. | Method of processing non-real time service and broadcast receiver |
-
2019
- 2019-10-25 CN CN201911025986.7A patent/CN110798713B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163227A (zh) * | 2006-10-13 | 2008-04-16 | 中兴通讯股份有限公司 | 一种实现点播电视节目加密的方法 |
CN101282458A (zh) * | 2008-05-12 | 2008-10-08 | 中兴通讯股份有限公司 | 节目预览数据的传输、接收方法和装置 |
CN101980541A (zh) * | 2010-11-23 | 2011-02-23 | 华亚微电子(上海)有限公司 | 数字电视接收装置及其换台方法 |
CN102427561A (zh) * | 2011-10-24 | 2012-04-25 | 山东泰信电子有限公司 | 一种防止vod节目非法传播共享的方法 |
CN103873887A (zh) * | 2012-12-13 | 2014-06-18 | 航天信息股份有限公司 | 点播节目的播放方法、装置和系统 |
CN104754399A (zh) * | 2013-12-27 | 2015-07-01 | 北京创维海通数字技术有限公司 | 一种网络节目信息与其回看时移数据的关联方法 |
CN103702173A (zh) * | 2014-01-03 | 2014-04-02 | 成都驰通数码系统有限公司 | 对数字电视录制节目片段实施加密和控制的系统 |
CN108989895A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种视频处理方法及设备 |
Non-Patent Citations (1)
Title |
---|
"一种基于加密流的时移电视实现";王蕾等;《微计算机信息》;20090625;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110798713A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032575B2 (en) | Random access in a video bitstream | |
US9591044B2 (en) | Content server media stream management | |
US8001575B2 (en) | Method of distributing video-on-demand over an internet protocol network infrastructure | |
US9332048B2 (en) | Key frame detection and synchronization | |
EP1523190B1 (en) | Fast channel change | |
CN107147919B (zh) | 直播快速启播方法及系统 | |
US10567825B2 (en) | Cloud DVR storage | |
CA2965484A1 (en) | Adaptive bitrate streaming latency reduction | |
US10051301B2 (en) | Initiating a unicast stream based on a triggering event associated with a node receiving a multicast stream | |
US9137477B2 (en) | Fast channel change companion stream solution with bandwidth optimization | |
CN111866526B (zh) | 一种直播业务处理方法和装置 | |
US9357244B2 (en) | Method and system for inhibiting audio-video synchronization delay | |
US20100132007A1 (en) | Accelerating channel change time with external picture property markings | |
US9215396B2 (en) | Faster access to television channels | |
WO2009103343A1 (en) | Method and apparatus for distributing media over a communications network | |
CN110798713B (zh) | 时移电视点播方法、终端、服务器及系统 | |
CN105491394B (zh) | 发送mmt包的方法及装置、接收mmt包的方法 | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
CN106231414B (zh) | 基于iptv的播放模式切换的控制方法及装置 | |
KR20090122883A (ko) | 송신기와 전자 장치 간의 신호 스트림의 간단한 송신 방법 | |
WO2009080114A1 (en) | Method and apparatus for distributing media over a communications network | |
KR20210052345A (ko) | 이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치 | |
CN115529474A (zh) | 一种全景视频的传输方法、装置、电子设备及存储介质 | |
KR20110070644A (ko) | 서브 멀티캐스트 스트림을 이용한 채널 전환 시스템 및 방법 | |
WO2009095079A1 (en) | Method and apparatus for distributing media over a communications network |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |