CN109963169B - 一种转码方法、服务器和计算机可读存储介质 - Google Patents
一种转码方法、服务器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN109963169B CN109963169B CN201910271599.5A CN201910271599A CN109963169B CN 109963169 B CN109963169 B CN 109963169B CN 201910271599 A CN201910271599 A CN 201910271599A CN 109963169 B CN109963169 B CN 109963169B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- data stream
- stream
- state
- request
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 239000002699 waste material Substances 0.000 description 10
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/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/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例涉及互联网技术领域,公开了一种转码方法、服务器和计算机可读存储介质。本申请的部分实施例中,转码方法包括:接收推流请求;其中,推流请求中包括推送的数据流,以及数据流的标识信息;在确定接收到数据流的拉流请求后,对数据流进行转码处理;其中,拉流请求所拉取的数据流的标识信息与推流请求中的数据流的标识信息相同,拉流请求拉取到的数据为数据流转码处理后得到的数据。该实现中,在接收到数据流的拉流请求的情况下,才对该数据流进行转码处理,避免了对没有人访问的数据流进行转码处理而造成的转码资源的消耗,提高了转码资源的利用效率。
Description
技术领域
本发明实施例涉及互联网技术领域,特别涉及一种转码方法、服务器和计算机可读存储介质。
背景技术
目前,绝大部分的直播提供厂商都选择内容分发网络(Content DeliveryNetwork,CDN)或者云服务商进行直播加速。而转码服务是CDN的一项基础服务。当前,CDN厂商一般采用推流主动转码的方式,以提供转码服务。推流主动转码的服务模式下,由推流器将直播流推流到CDN的边缘服务器,边缘服务器将直播流转推到CDN的源服务器,源服务器根据参数或者配置的模板进行主动转码,比如转封装格式,窄带高清,水印等转码流。
然而,发明人发现现有技术中至少存在如下问题:传统CDN的推流主动转码方式存在不必要的资源浪费问题。如何在提供转码服务的同时,降低转码带来的成本消耗成为制约CDN厂商发展的关键要素。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施方式的目的在于提供一种转码方法、服务器和计算机可读存储介质,使得能够避免主动转码带来的不必要的资源浪费。
为解决上述技术问题,本发明的实施方式提供了一种转码方法,包括以下步骤:接收推流请求;其中,推流请求中包括推送的数据流,以及数据流的标识信息;在确定接收到数据流的拉流请求后,对数据流进行转码处理;其中,拉流请求所拉取的数据流的标识信息与推流请求中的数据流的标识信息相同,拉流请求拉取到的数据为数据流转码处理后得到的数据。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的转码方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的转码方法。
本发明实施方式相对于现有技术而言,在接收到数据流的拉流请求的情况下,才对该数据流进行转码处理,避免了对没有人访问的数据流进行转码处理而造成的转码资源的消耗,提高了转码资源的利用效率。
另外,在对数据流进行转码处理之后,转码方法还包括:若确定推流请求断开,停止对数据流的转码处理。该实现中,避免了转码资源的消耗,进一步提高了整个转码资源的利用率。
另外,在停止对数据流的转码处理之前,转码方法还包括:确定推流请求断开的时长超过第一预设值。该实现中,避免由于网络不稳定导致推流请求断开的情况下,源站服务器频繁判断是否对数据流进行转码处理而造成的资源浪费。
另外,在对数据流进行转码处理之后,转码方法还包括:若确定数据流的所有拉流请求均断开,停止对数据流的转码处理。该实现中,避免了转码资源的消耗,进一步提高了整个转码资源的利用率。
另外,在停止对数据流的转码处理之前,转码方法还包括:确定所有拉流请求均断开的时长超过第二预设值。该实现中,避免了客户端需要拉取该数据流,但由于网络不稳定导致拉流请求频繁断开的情况下,源站服务器频繁地判断是否对数据流进行转码处理的判断而造成的资源浪费。
另外,在确定接收到数据流的拉流请求之前,转码方法还包括:确定推送请求中包括转码指令,转码指令指示对数据流进行转码处理。该实现中,避免了对无转码需求的数据流进行后续操作所造成的计算资源浪费。
另外,在接收推流请求之后,转码方法还包括:若确定未接收到数据流的拉流请求,将数据流的状态记录为第一状态;其中,第一状态为推流接入且待转码状态。
另外,在接收推流请求之后,转码方法还包括:若确定接收到数据流的拉流请求,将数据流的状态变更为第二状态;其中,第二状态为推流接入且正在转码状态。该实现中,使得源站服务器能够获知数据流的推流情况和拉流情况。
另外,在停止对数据流的转码处理之后,转码方法还包括:将数据流的状态变更为第三状态;其中,第三状态为推流未接入且待转码状态。
另外,在停止对数据流的转码处理之后,转码方法还包括:将数据流的状态变更为第一状态;其中,第一状态为推流接入且待转码状态。
另外,在接收推流请求之前或之后,转码方法还包括:接收拉流请求;判断数据流的状态是否为第一状态或第二状态;第一状态为推流接入且待转码,第二状态为推流接入且正在转码状态;若确定是,发送数据流的转码数据至发送拉流请求的客户端;若确定不是,将数据流的状态变更为第四状态;其中,第四状态为拉流接入且未转码状态。
另外,确定是否接收到数据流的拉流请求的方法为:判断数据流的状态是否为第二状态或第四状态;其中,第四状态为拉流接入且未转码状态;若确定是,则判定为接收到数据流的拉流请求;若确定不是,则判定为未接收到数据流的拉流请求。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式的转码方法的流程图;
图2是本发明的第二实施方式的转码方法的流程图;
图3是本发明的第二实施方式的直播***架构示意图;
图4是本发明的第三实施方式的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种转码方法,应用于CDN领域、流媒体领域或其他领域的服务器,如源站服务器。本实施方式中,以该转码方法在CDN领域中的应用为例,对该转码方法进行说明,该转码方法在其他领域的应用可参考本实施方式中的相关内容。如图1所示,该转码方法还包括:
步骤101:接收推流请求。
具体地说,推流是指把本地采集的语音视频推送到源站服务器,推流请求中包括推送的数据流,以及数据流的标识信息,用于将数据流推送至源站服务器。其中,数据流包括本地采集的语音,和/或,视频。
在一个例子中,推流请求可以由直播端发送给推流器,推流器发送给边缘服务器,边缘服务器发送给源站服务器。
步骤102:判断是否接收到数据流的拉流请求。
具体地说,拉流请求所拉取的数据流的标识信息与推流请求中的数据流的标识信息相同,拉流请求拉取到的数据为数据流转码处理后得到的数据。源站服务器在确定接收到数据流的拉流请求后,则执行步骤103,否则,继续等待拉流请求接入,即继续执行步骤102。
在一个例子中,数据流的标识信息为数据流的流名。直播端推送的数据流的流名和客户端访问的数据流的流名是一致的,但是客户端访问到的数据流是经过转码处理的。比如,推流请求中的数据流的流名和拉流请求所拉取的数据流的流名都为livestream(直播流),但是拉流到的livestream是经过转码处理得到的。
发明人发现,采用主动转码方式时,如果不接收到客户端对推流请求所推送的数据流发起拉流请求,源站服务器仍然会对该推流请求中的数据流进行转码,这将浪费转码资源。而本实施方式中,在确定接收到数据流的拉流请求后,即有客户端拉取数据流后,再对推流请求中的数据流进行转码,能够减少对没有客户端拉取的数据流进行转码处理所造成的资源浪费。
在一个例子中,源站服务器在判断是否接收到数据流的拉流请求之前,先判断该推流请求中是否包括转码指令,若确定推流请求中包括转码指令,则进一步判断是否接收到数据流的拉流请求,若确定推流请求中不包括转码指令,则无需对数据流进行转码,可以直接进行分发服务。其中,转码指令指示对数据流进行转码处理,分发服务是指将数据流分发至各个边缘服务器。
值得一提的是,源站服务器在确定推流请求中包括转码指令后,再进行后续判断,避免了对无转码需求的数据流进行后续操作所造成的计算资源浪费。
在一个例子中,源站服务器中维护有各个数据流的状态信息,并根据该数据流的拉流请求和推流请求的接入情况,更新数据流的状态信息。
例如,源站服务器可以先将每个数据流的状态设置为第三状态,第三状态为推流未接入且待转码状态。源站服务器在接收到该数据流的推流请求后,若确定未接收到该数据流的拉流请求,将数据流的状态记录为第一状态;其中,第一状态为推流接入且待转码状态;若确定接收到该数据流的拉流请求,将数据流的状态变更为第二状态;其中,第二状态为推流接入且正在转码状态。若源站服务器接收到该数据流的拉流请求,判断数据流的状态是否为第一状态或第二状态,若确定是,发送数据流的转码数据至发送拉流请求的客户端;若确定不是,将数据流的状态变更为第四状态;其中,第四状态为拉流接入且未转码状态。具体的,若该拉流请求所拉取的数据流处于第一状态,则源站服务器对该数据流进行转码处理,并返回转码数据至客户端;若该拉流请求所拉取的数据流处于第二状态,源站服务器直接将该数据流的转码数据发送至客户端。
在该例子中,源站服务器确定是否接收到数据流的拉流请求的方法为:判断数据流的状态是否为第二状态或第四状态;若确定是,则判定为接收到数据流的拉流请求;若确定不是,则判定为未接收到数据流的拉流请求。
值的一提的是,源站服务器维护各个数据流的状态信息,使得源站服务器能够获知数据流的推流请求接入情况和拉流请求接入情况。
在一个例子中,源站服务器将数据流的状态信息维护到全局的map信息中。
需要说明的是,本领域技术人员可以理解,实际应用中,还可以采用其他方式判断是否接收到数据流的拉流请求,此处不一一列举,本实施方式不限制源站服务器确定是否接收到数据流的拉流请求的方法。
步骤103:对数据流进行转码处理。
具体地说,源站服务器根据推流请求中的转码指令,对数据流进行转码处理。例如,若推流请求中携带有转码加水印的转码指令,则为该数据流中的每一帧图像加上水印。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的转码方法,在确定接收到数据流的拉流请求后,再对该数据流进行转码处理,避免了对没有人访问的数据流进行转码处理而造成的转码资源的消耗,提高了转码资源的利用效率。
本发明的第二实施方式涉及一种转码方法,本实施方式是对第一实施方式的进一步改进,具体改进之处为:在对数据流进行转码处理之后,若确定数据流的推流请求断开,或者,数据流的所有拉流请求断开,停止对数据流的转码处理。
具体的说,如图2所示,在本实施方式中,包含步骤201至步骤207,其中,步骤201至步骤203分别与第一实施方式中的步骤101至步骤103大致相同,此处不再赘述。下面主要介绍不同之处:
步骤201:接收推流请求。
步骤202:判断是否接收到数据流的拉流请求。
具体地说,若确定是,执行步骤203,否则,继续执行步骤202。
步骤203:对数据流进行转码处理。
步骤204:对传输数据流的信道进行维护。
具体地说,源站服务器对传输数据流的信道进行维护,保证该信道的稳定性。
在一个例子中,源站服务器对数据流、数据流的转码数据,以及该数据流的状态进行存储。
步骤205:判断该数据流的推流请求是否断开。
具体地说,若确定推流请求断开,执行步骤207,若确定推流请求未断开,执行步骤206。
值得一提的是,源站服务器在数据流的推流请求断开以后,主动关闭该数据流的转码任务,可以避免该数据流的转码任务占用转码资源,进一步减少了转码资源的消耗,提高了整个转码资源的利用率。
步骤206:判断该数据流的所有拉流请求是否均断开。
具体地说,若确定所有拉流请求均断开,执行步骤207,若确定存在未断开的拉流请求,执行步骤204。
值得一提的是,若该数据流的所有拉流请求均断开,说明当前无客户端拉取该数据流,无需对该数据流进行转码处理。该情况下,源站服务器主动关闭该数据流的转码任务,避免了转码资源的消耗,进一步提高了整个转码资源的利用率。
步骤207:停止对数据流的转码处理。
具体地说,源站服务器在确定数据流的推流请求断开,或者,数据流的所有拉流请求断开,停止对数据流的转码处理。
在一个例子中,源站服务器在确定推流请求断开之后,判断推流请求断开的时长是否超过第一预设值;若判断结果为是,则停止对数据流的转码处理;若判断结果为否,则继续对数据流的转码处理。其中,第一预设值可以根据需要设置,例如,第一预设值可以是10秒、1分钟或者1个小时,本实施方式不限制第一预设值的取值范围。
值得一提的是,在推流请求断开的时长超过第一预设值之后,再停止对数据流的转码处理,避免由于网络不稳定导致推流请求断开的情况下,源站服务器频繁判断是否对数据流进行转码处理而造成的资源浪费。
在一个例子中,源站服务器在确定数据流的推流请求断开,停止对数据流的转码处理之后,将数据流的状态变更为第三状态;其中,第三状态为推流未接入且待转码状态。
在一个例子中,源站服务器在确定数据流的所有拉流请求均断开之后,判断所有拉流请求均断开的时长超过第二预设值;若判断结果为是,则停止对数据流的转码处理;若判断结果为否,则继续对数据流的转码处理。其中,第二预设值可以根据需要设置,例如,第二预设值可以是10秒、1分钟或者1个小时,本实施方式不限制第二预设值的取值范围。
需要说明的是,本领域技术人员可以理解,第一预设值和第二预设值可以相同,也可以不同,此处不做限定。
在一个例子中,源站服务器在确定数据流的所有拉流请求均断开,停止对数据流的转码处理之后,将数据流的状态变更为第一状态;其中,第一状态为推流接入且待转码状态。
值得一提的是,在所有拉流请求均断开的时长超过第二预设值后,在停止对数据流的转码处理,避免客户端需要拉取该数据流,但由于网络不稳定导致拉流请求频繁断开的情况下,源站服务器频繁地判断是否对数据流进行转码处理而造成的资源浪费。
需要说明的是,本领域技术人员可以理解,步骤205和步骤206不是必须要执行的步骤,可以有选择性地执行步骤205和步骤206,或执行步骤205和步骤206中的任意一种。
需要说明的是,本实施方式中,为描述清楚,将步骤206设置为步骤205的后续步骤。但本领域技术人员可以理解,实际应用中,也可以将步骤205设置为步骤206的后续步骤,本实施方式不起限定作用。
在一个例子中,直播***架构如图3所示,包括推流器301、边缘服务器302、源站服务器303、转码服务器集群304和客户端305。源站服务器303中设置有对应关系表,存储有数据流的标识信息和数据流的状态信息的对应关系。推流器301使用实时消息传输协议(RealTime Messaging Protocol,RTMP)进行推流,例如,推流的统一资源定位符(UniformResource Locator,URL)格式可以是rtmp://live.cdn.com/live/livestream?transcode=xx。其中,rtmp表示RTMP协议,live.cdn.com表示数据流的标识信息,此处以网站的域名为例,live表示发布点,livestream表示RTMP的数据流的名称,transcode=xx表示将数据流进行xx类型的转码,xx为需要转码的类型,比如转码加水印、窄带高清、分辨率重建或转封装格式等。推流器301推流至边缘服务器302,边缘服务器302将推流请求转推至源站服务器303。源站服务器303接收到推流请求后,根据推流请求中是否携带transcode=xx,来判断该推流请求中的数据流是否需要进行转码处理。例如,若推流请求中携带有transcode=logo,表示该推流请求中的数据流需要加水印处理。源站服务器303在确定该推流请求中的数据流需要进行转码处理后,执行本实施方式提供的转码方法,对推流请求中的数据流进行处理。
需要说明的是,本领域技术人员可以理解,图3中,推流器301和客户端305通过不同的边缘服务器302与源站服务器303连接,实际应用中,推流器301和客户端305也可以通过同一边缘服务器302与源站服务器303连接,图3仅为示例说明,不起限制作用。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的转码方法,在接收到数据流的拉流请求的情况下,才对该数据流进行转码处理,避免了对没有人访问的数据流进行转码处理而造成的转码资源的消耗,提高了转码资源的利用效率。除此之外,源站服务器在数据流的推流请求断开以后,主动关闭该数据流的转码任务,避免了转码资源的消耗,进一步提高了整个转码资源的利用率。在该数据流的所有拉流请求断开以后,主动关闭该数据流的转码任务,避免了转码资源的消耗,进一步提高了整个转码资源的利用率。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第三实施方式涉及一种服务器,如图4所示,包括:至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述实施方式提及的转码方法。
该服务器包括:一个或多个处理器401以及存储器402,图4中以一个处理器401为例。处理器401、存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述转码方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器402中,当被一个或者多个处理器401执行时,执行上述任意方法实施方式中的转码方法。
上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本发明的第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (14)
1.一种转码方法,其特征在于,包括:
接收推流请求;其中,所述推流请求中包括推送的数据流,以及所述数据流的标识信息;数据流包括本地采集的语音,和/或,视频;
在确定接收到所述数据流的拉流请求后,对所述数据流进行转码处理;其中,所述拉流请求所拉取的数据流的标识信息与所述推流请求中的数据流的标识信息相同,所述拉流请求拉取到的数据为所述数据流转码处理后得到的数据;
其中,所述对所述数据流进行转码处理,包括:根据所述推流请求中的转码指令,对数据流进行转码处理。
2.根据权利要求1所述的转码方法,其特征在于,在所述对所述数据流进行转码处理之后,所述转码方法还包括:
若确定所述推流请求断开,停止对所述数据流的转码处理。
3.根据权利要求2所述的转码方法,其特征在于,在所述停止对所述数据流的转码处理之前,所述转码方法还包括:
确定所述推流请求断开的时长超过第一预设值。
4.根据权利要求1所述的转码方法,其特征在于,在所述对所述数据流进行转码处理之后,所述转码方法还包括:
若确定所述数据流的所有拉流请求均断开,停止对所述数据流的转码处理。
5.根据权利要求4所述的转码方法,其特征在于,在所述停止对所述数据流的转码处理之前,所述转码方法还包括:
确定所有拉流请求均断开的时长超过第二预设值。
6.根据权利要求1至5中任一项所述的转码方法,其特征在于,在确定接收到所述数据流的拉流请求之前,所述转码方法还包括:
确定所述推送请求中包括转码指令,所述转码指令指示对所述数据流进行转码处理。
7.根据权利要求1至5中任一项所述的转码方法,其特征在于,在所述接收推流请求之后,所述转码方法还包括:
若确定未接收到所述数据流的拉流请求,将所述数据流的状态记录为第一状态;其中,所述第一状态为推流接入且待转码状态。
8.根据权利要求1至5中任一项所述的转码方法,其特征在于,在所述接收推流请求之后,所述转码方法还包括:
若确定接收到所述数据流的拉流请求,将所述数据流的状态变更为第二状态;其中,所述第二状态为推流接入且正在转码状态。
9.根据权利要求2所述的转码方法,其特征在于,在所述停止对所述数据流的转码处理之后,所述转码方法还包括:
将所述数据流的状态变更为第三状态;其中,所述第三状态为推流未接入且待转码状态。
10.根据权利要求4所述的转码方法,其特征在于,在所述停止对所述数据流的转码处理之后,所述转码方法还包括:
将所述数据流的状态变更为第一状态;其中,所述第一状态为推流接入且待转码状态。
11.根据权利要求1至5中任一项所述的转码方法,其特征在于,在所述接收推流请求之前或之后,所述转码方法还包括:
接收所述拉流请求;
判断所述数据流的状态是否为第一状态或第二状态;所述第一状态为推流接入且待转码,所述第二状态为推流接入且正在转码状态;
若确定是,发送所述数据流的转码数据至发送所述拉流请求的客户端;
若确定不是,将所述数据流的状态变更为第四状态;其中,所述第四状态为拉流接入且未转码状态。
12.根据权利要求11所述的转码方法,其特征在于,确定是否接收到所述数据流的拉流请求的方法为:
判断所述数据流的状态是否为所述第二状态或第四状态;其中,所述第四状态为拉流接入且未转码状态;
若确定是,则判定为接收到所述数据流的拉流请求;
若确定不是,则判定为未接收到所述数据流的拉流请求。
13.一种服务器,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至12中任一项所述的转码方法。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的转码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271599.5A CN109963169B (zh) | 2019-04-04 | 2019-04-04 | 一种转码方法、服务器和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271599.5A CN109963169B (zh) | 2019-04-04 | 2019-04-04 | 一种转码方法、服务器和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109963169A CN109963169A (zh) | 2019-07-02 |
CN109963169B true CN109963169B (zh) | 2021-10-19 |
Family
ID=67025800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910271599.5A Expired - Fee Related CN109963169B (zh) | 2019-04-04 | 2019-04-04 | 一种转码方法、服务器和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109963169B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110267058B (zh) * | 2019-07-18 | 2022-03-08 | 天翼数字生活科技有限公司 | 直播方法、网关、设备集群、***和装置 |
CN110460866A (zh) * | 2019-07-29 | 2019-11-15 | 网宿科技股份有限公司 | 推送流媒体数据的方法、***和服务器 |
CN112751886B (zh) * | 2019-10-29 | 2023-05-26 | 贵州白山云科技股份有限公司 | 一种转码方法、***、传输设备及存储介质 |
CN110913245A (zh) * | 2019-11-08 | 2020-03-24 | 网宿科技股份有限公司 | 一种控制视频转码码率的方法和装置 |
CN111083217B (zh) * | 2019-12-11 | 2022-07-08 | 北京达佳互联信息技术有限公司 | 一种推送Feed流的方法、装置及电子设备 |
CN113347138B (zh) * | 2020-03-02 | 2024-04-26 | 广州虎牙科技有限公司 | 转码数据流的传输方法、装置、计算机设备及存储介质 |
CN113891028B (zh) * | 2020-07-03 | 2024-04-05 | 浙江宇视科技有限公司 | 一种可视门铃通信方法、装置、设备及介质 |
CN113949696B (zh) * | 2021-08-31 | 2023-10-20 | 网宿科技股份有限公司 | 资源分发方法、电子设备及计算机可读存储介质 |
CN114584800A (zh) * | 2022-03-16 | 2022-06-03 | 京东科技信息技术有限公司 | 流媒体传输方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404567A (zh) * | 2011-11-03 | 2012-04-04 | 深圳市融创天下科技股份有限公司 | 一种网络监控视频流按需实时转码的***和方法 |
CN102882829A (zh) * | 2011-07-11 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 一种转码方法及*** |
CN104349178A (zh) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | 实现按需实时转码和自适应码率流媒体播放的***及方法 |
CN106507134A (zh) * | 2016-11-30 | 2017-03-15 | 深圳羚羊极速科技有限公司 | 一种流媒体服务器按需转码的方法 |
CN108521421A (zh) * | 2018-04-09 | 2018-09-11 | 网宿科技股份有限公司 | 一种转码任务的处理方法、***及任务管理服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676901B1 (en) * | 2007-11-01 | 2014-03-18 | Google Inc. | Methods for transcoding attachments for mobile devices |
-
2019
- 2019-04-04 CN CN201910271599.5A patent/CN109963169B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882829A (zh) * | 2011-07-11 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 一种转码方法及*** |
CN102404567A (zh) * | 2011-11-03 | 2012-04-04 | 深圳市融创天下科技股份有限公司 | 一种网络监控视频流按需实时转码的***和方法 |
CN104349178A (zh) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | 实现按需实时转码和自适应码率流媒体播放的***及方法 |
CN106507134A (zh) * | 2016-11-30 | 2017-03-15 | 深圳羚羊极速科技有限公司 | 一种流媒体服务器按需转码的方法 |
CN108521421A (zh) * | 2018-04-09 | 2018-09-11 | 网宿科技股份有限公司 | 一种转码任务的处理方法、***及任务管理服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109963169A (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109963169B (zh) | 一种转码方法、服务器和计算机可读存储介质 | |
US11356748B2 (en) | Method, apparatus and system for slicing live streaming | |
US10616301B2 (en) | Request-based encoding for streaming content portions | |
US9674252B2 (en) | System and method for efficient delivery of repetitive multimedia content | |
US11503098B2 (en) | Embedding MQTT messages in media streams | |
KR102522741B1 (ko) | 브로드캐스트 컨텐츠 재배포 및 ad 삽입 | |
CN111541903A (zh) | 直播加速方法、源站端、边缘节点、客户端及直播*** | |
CN107920072B (zh) | 一种基于数据特征的多媒体共享方法及*** | |
CN105556931B (zh) | 用于共享专用处理资源的***和方法 | |
CN110113298B (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
US20240155019A1 (en) | Synchronizing independent media and data streams using media stream synchronization points | |
CN114025191A (zh) | 一种基于Nginx-rtmp的webrtc低延迟直播方法及*** | |
US20210021659A1 (en) | Delivery apparatus, delivery method, and program | |
US20170093946A1 (en) | Parallel transcoding directly from file identifier | |
US20190227866A1 (en) | Information processing device and method | |
US20130024543A1 (en) | Methods for generating multiple responses to a single request message and devices thereof | |
CN111200562B (zh) | 导流方法、静态父节点、边缘节点以及cdn网络 | |
CN103796035A (zh) | 一种处理分段节目的方法、服务器及客户端设备 | |
CN103023859B (zh) | 一种分布式业务网络的内容处理方法和*** | |
CN113852854A (zh) | 基于Android***的视频推流拉流实现方法及*** | |
CN108667863B (zh) | 一种基于本地代理的web业务适配***及方法 | |
CN110572703A (zh) | 多媒体数据同步播放方法、***、终端及存储介质 | |
CN113949696B (zh) | 资源分发方法、电子设备及计算机可读存储介质 | |
CN114520832B (zh) | 一种数据流处理方法、装置、设备及计算机存储介质 | |
CN112770132B (zh) | 一种代理缓存中降低mp4视频出口流量的方法及*** |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211019 |
|
CF01 | Termination of patent right due to non-payment of annual fee |