CN112203105A - 一种新媒体移动直播方法及*** - Google Patents
一种新媒体移动直播方法及*** Download PDFInfo
- Publication number
- CN112203105A CN112203105A CN202011069540.7A CN202011069540A CN112203105A CN 112203105 A CN112203105 A CN 112203105A CN 202011069540 A CN202011069540 A CN 202011069540A CN 112203105 A CN112203105 A CN 112203105A
- Authority
- CN
- China
- Prior art keywords
- live
- stream
- index file
- ffmpeg
- generator
- 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
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/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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出了一种新媒体移动直播方法及***,涉及互联网及多媒体领域。一种新媒体移动直播方法包括:接收直播频道的直播流并进行ffmpeg切片;将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。其能够降低了终端要求,满足实际应用需求。此外本发明还提出了一种新媒体移动直播***,包括:接收模块、封装模块、第一生成模块、第二生成模块、更新模块以及输出模块。
Description
技术领域
本发明涉及互联网及多媒体领域,具体而言,涉及一种新媒体移动直播方法及***。
背景技术
随着互联网技术的迅速发展,越来越多的用户可以使用电脑、手机等终端通过网络观看在线视频直播。在线视频直播是指利用互联网网络资源进行的现场视频直播服务,主播通过现场的视频拍摄同步发布到网络上,观众可以同一时间在网络上看到实时的现场情况。
在IPTV建设实践中,通过组播分发直播频道,相比单播方式减小了投资。但随着技术的发展,直播流媒体技术由于具有对流服务器与终端要求低、可通过多码率保证在不同网络下播放的流畅性等优点,所以近年来在互联网视频业务的应用中占有主流位置,并且电信运营商使用ffmpeg方式的直播日渐增加。
但是直播基于HTTP(Hypertext Transfer Protocol,超文本传输协议),传统上只能使用TCP(Transmission Control Protocol,传输控制协议)来传输,属于单播模式,在大用户量情况下,需占用巨大的网络带宽资源。
因此,针对现有状况,如何有效利用运营商的组播资源,在不增加网络带宽的情况下,以组播传输方式实现一种低时延的HLS直播,使得组播和ffmpeg的优点皆保留并充分利用,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供一种新媒体移动直播方法,其能够使终端设备的播放器不需要定制开发,只要支持ffmpeg即可,不要求支持RTSP,降低了终端要求,满足实际应用需求。
本发明的另一目的在于提供一种新媒体移动直播***,其能够实现一种新媒体移动直播方法。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种新媒体移动直播方法,其包括接收直播频道的直播流并进行ffmpeg切片;将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
在本发明的一些实施例中,在上述将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出之后还包括:每当封装后的数据包中包含的是一个直播流分片的最后一部分媒体内容时,生成对应的索引文件数据信息;将生成的索引文件数据信息另行封装,封装后的数据包以和直播流数据包流同一路组播地址、不同端口号发送。
在本发明的一些实施例中,上述还包括多个封装有索引文件数据信息的数据包,形成索引文件数据包流,直播流数据包流与索引文件数据包流组成实时传输直播组播流。
在本发明的一些实施例中,上述根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件包括:ffmpeg生成器收到播放器请求播放直播频道后,接收切片服务器发送的该直播频道的实时传输直播组播流;每当收到索引文件数据包时,根据其包含的对应直播流分片起始直播流数据包序号和结束直播流数据包序号,找到对应直播流分片的所有直播流数据包;去除各直播流包的数据包头和数据包扩展头后,将其中的直播流分片数据组成一个完整的直播流分片缓存于内存。
在本发明的一些实施例中,上述还包括待收到的索引文件数据包的个数达到ffmpeg生成器预设的配置时,根据当前收到的索引文件数据包,组成一个完整的索引文件。
在本发明的一些实施例中,上述还包括ffmpeg生成器根据索引文件数据包中,包含的对应直播流分片起始直播流数据包序号和结束直播流数据包序号;找到对应直播流分片的所有直播流数据包时,若在没有重传请求机制下出现未收到部分直播流数据包的情况,ffmpeg生成器根据已收到的直播流数据包,组成一个只包含已收到直播流数据包的媒直播流分片。
在本发明的一些实施例中,上述包括根据数据包扩展头中的Frame_pts参数计算已收到的直播流数据包构成的直播流分片的播放时长;通过数据包扩展头中的Frame_pts参数更新对应索引文件数据包中的相应标签值。
在本发明的一些实施例中,上述还包括定期向ffmpeg生成器请求新的索引文件,以下载直播流分片进行播放。
第二方面,本申请实施例提供一种新媒体移动直播***,其包括接收模块,用于接收直播频道的直播流并进行ffmpeg切片;封装模块,用于将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;第一生成模块,用于当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;第二生成模块,用于根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;更新模块,用于以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;输出模块,用于根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
在本发明的一些实施例中,上述包括:用于存储计算机指令的至少一个存储器;与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器使所述***执行:接收模块、封装模块、第一生成模块、第二生成模块、更新模块以及输出模块。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
只在终端设备接收组播流后合成ffmpeg,从***端至终端的传输完全是组播方式,无需单播资源,使得组播和ffmpeg的优点皆保留并充分利用;并且,该方案中ffmpeg生成器能在终端上为播放器提供ffmpeg流,使得终端设备的播放器不需要定制开发,只要支持ffmpeg即可,不要求支持RTSP,降低了终端要求,满足实际应用需求。
切片服务器传输RTP直播组播流时,是将一路频道的媒体流和M3U8索引文件数据信息都以同一路组播流传输,最大程度节省了带宽。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种新媒体移动直播方法步骤示意图;
图2A为本发明实施例提供的一种新媒体移动直播方法详细步骤示意图;
图2B为图2A的补充步骤示意图;
图3为本发明实施例提供的一种新媒体移动直播***模块示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例1
请参阅图1,图1为本发明实施例提供的一种新媒体移动直播方法步骤示意图,其如下所示:
步骤S100,接收直播频道的直播流并进行ffmpeg切片;
在一些实施方式中,使用强大的硬件编码器,利用ffmpeg切片,切片数可设置为1,切片时长可设置为1秒,循环数可设置为2,使用好网络,使用强大播放器。这样可将HLS延迟降到2s左右。再利用Chunked Transfer Encoding技术,可以将HLS延迟降得更低。
步骤S110,将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;
在一些实施方式中,切片服务器从直播源接收一个或多个直播频道的直播流;分别进行直播流流的解析,将每个直播流分片封装在多个RTP包,并立即以组播方式发送出去,形成直播流RTP包流。这种虚拟ffmpeg切片的方式,使得***端设备的切片服务器不生成也不缓存实际的ffmpeg分片,只在RTP包中保留M3U8索引文件数据信息,可有效降低内存和磁盘消耗,提升处理效率,ffmpeg切片效率高,并有利于降低直播流的延时。
步骤S120,当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;
在一些实施方式中,当移动终端中的播放器请求播放某个直播频道时,向ffmpeg生成器请求该直播频道的M3U8索引文件。实际操作中,ffmpeg生成器可监听于127.0.0.1的某个端口,以实现对播放器请求的实时监听。并且,播放器与ffmpeg生成器间的ffmpeg接口采用标准协议接口。
步骤S130,根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;
在一些实施方式中,ffmpeg生成器收到播放器请求后,接收切片服务器发送的该直播频道的RTP直播组播流,根据M3U8索引文件数据信息从RTP直播组播流中提取直播流分片缓存于内存,并生成完整的M3U8索引文件。
步骤S140,以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;
在一些实施方式中,ffmpeg生成器以生成的M3U8索引文件响应播放器;并持续收流并提取直播流分片和M3U8索引文件数据信息,以更新直播流分片缓存和M3U8索引文件。
步骤S150,根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
在一些实施方式中,播放器根据M3U8索引文件的分片列表,向ffmpeg生成器请求下载直播流分片进行播放;并定期向ffmpeg生成器请求新的M3U8索引文件,以下载新直播流分片进行播放。
实施例2
请参阅图2A以及图2B,图2A为本发明实施例提供的一种新直播流移动直播方法详细步骤示意图,其如下所示:
步骤S200,接收直播频道的直播流并进行ffmpeg切片;
在一些实施方式中,使用强大的硬件编码器,利用ffmpeg切片,切片数可设置为1,切片时长可设置为1秒,循环数可设置为2,使用好网络,使用强大播放器。这样可将HLS延迟降到2s左右。再利用Chunked Transfer Encoding技术,可以将HLS延迟降得更低。
步骤S210,将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;
在一些实施方式中,切片服务器从直播源接收一个或多个直播频道的直播流;分别进行直播流流的解析,将每个直播流分片封装在多个RTP包,并立即以组播方式发送出去,形成直播流RTP包流。这种虚拟ffmpeg切片的方式,使得***端设备的切片服务器不生成也不缓存实际的ffmpeg分片,只在RTP包中保留M3U8索引文件数据信息,可有效降低内存和磁盘消耗,提升处理效率,ffmpeg切片效率高,并有利于降低直播流的延时。
步骤S220,每当封装后的数据包中包含的是一个直播流分片的最后一部分直播流内容时,生成对应的索引文件数据信息;
在一些实施方式中,切片服务器从直播源接收一个或多个直播频道的直播流,分别对接收的直播流进行:直播流流的解析,将每个直播流分片封装在多个RTP包,并以不延时的方式,立即将封装好的RTP包以组播方式发送出去,形成直播流RTP包流;同时,每当切片服务器封装成的一个RTP包中包含的是一个直播流分片的最后一部分直播流内容时,生成对应的M3U8索引文件数据信息。
步骤S230,将生成的索引文件数据信息另行封装,封装后的数据包以和直播流数据包流同一路组播地址、不同端口号发送;
步骤S240,多个封装有索引文件数据信息的数据包,形成索引文件数据包流,直播流数据包流与索引文件数据包流组成实时传输直播组播流;
在一些实施方式中,并将生成的M3U8索引文件数据信息封装在另一个RTP包中,该包以和直播流RTP包流同一路组播地址、不同端口号发送;多个封装有M3U8索引文件数据信息的RTP包,形成M3U8索引文件数据RTP包流,直播流RTP包流与所述M3U8索引文件数据RTP包流组成RTP直播组播流。
在传输直播流流和M3U8索引文件数据信息时,都是通过组播方式,无需单播资源,充分利用了组播的优点;且一路频道的直播流流和M3U8索引文件数据信息都以同一路组播流传输,最大程度节省带宽。
步骤S250,当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;
在一些实施方式中,当移动终端中的播放器请求播放某个直播频道时,向ffmpeg生成器请求该直播频道的M3U8索引文件。实际操作中,ffmpeg生成器可监听于127.0.0.1的某个端口,以实现对播放器请求的实时监听。并且,播放器与ffmpeg生成器间的ffmpeg接口采用标准协议接口。
步骤S260,根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;
在一些实施方式中,ffmpeg生成器收到播放器请求后,接收切片服务器发送的该直播频道的RTP直播组播流,根据M3U8索引文件数据信息从RTP直播组播流中提取直播流分片缓存于内存,并生成完整的M3U8索引文件。
步骤S270,以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;
在一些实施方式中,ffmpeg生成器以生成的M3U8索引文件响应播放器;并持续收流并提取直播流分片和M3U8索引文件数据信息,以更新直播流分片缓存和M3U8索引文件。
步骤S280,ffmpeg生成器收到播放器请求播放直播频道后,接收切片服务器发送的该直播频道的实时传输直播组播流;
在一些实施方式中,ffmpeg生成器收到播放器请求后,接收切片服务器发送的该直播频道的RTP直播组播流,缓存直播流RTP包。
步骤S290,每当收到索引文件数据包时,根据其包含的对应直播流分片起始直播流数据包序号和结束直播流数据包序号,找到对应直播流分片的所有直播流数据包;
在一些实施方式中,每当收到M3U8索引文件数据RTP包时,根据其包含的对应直播流分片起始直播流RTP包序号和结束直播流RTP包序号,从缓存中找到两序号之间对应直播流分片的所有直播流RTP包。
步骤S300,去除各直播流包的数据包头和数据包扩展头后,将其中的直播流分片数据组成一个完整的直播流分片缓存于内存;
在一些实施方式中,去除各直播流RTP包的RTP头和RTP扩展头后,将其中的直播流分片数据组成一个完整的直播流分片缓存于内存。
步骤S310,待收到的索引文件数据包的个数达到ffmpeg生成器预设的配置时,根据当前收到的索引文件数据包,组成一个完整的索引文件;
在一些实施方式中,待收到的M3U8索引文件数据RTP包的个数达到ffmpeg生成器预设的配置时,根据当前收到的M3U8索引文件数据RTP包,组成一个完整的M3U8索引文件。可以理解的是,由几个M3U8索引文件数据RTP包组成一个完整的M3U8索引文件,也就是一个索引文件中包含几个直播流分片索引项目,可根据ffmpeg生成器的预设配置决定。本实例是配置M3U8索引文件包含3个分片索引项。
步骤S320,ffmpeg生成器根据索引文件数据包中,包含的对应直播流分片起始直播流数据包序号和结束直播流数据包序号;
在一些实施方式中,ffmpeg生成器根据M3U8索引文件数据RTP包中,包含的对应直播流分片起始直播流RTP包序号和结束直播流RTP包序号。
步骤S330,找到对应直播流分片的所有直播流数据包时,若在没有重传请求机制下出现未收到部分直播流数据包的情况,ffmpeg生成器根据已收到的直播流数据包,组成一个只包含已收到直播流数据包的媒直播流分片;
在一些实施方式中,找到对应直播流分片的所有直播流RTP包时,若出现未收到部分直播流RTP包的情况,可能原因之一是用户切换直播时间点在未收到的直播流RTP包的发送时间之后,也可能是发生了丢包;在没有重传请求机制下,ffmpeg生成器可根据已收到的直播流RTP包,组成一个只包含已收到直播流RTP包的直播流分片。
步骤S340,根据数据包扩展头中的Frame_pts参数计算已收到的直播流数据包构成的直播流分片的播放时长;
在一些实施方式中,ffmpeg生成器也可根据直播流RTP包序号及扩展头中的参数FT、FP、Frame_pts,先舍弃不能组成完整视频帧的直播流RTP包,用剩余包组成直播流分片,并根据参数Frame_pts重新计算直播流分片的播放时长。
步骤S350,通过数据包扩展头中的Frame_pts参数更新对应索引文件数据包中的相应标签值;
在一些实施方式中,根据扩展头中的参数Frame_pts计算已收到的直播流RTP包构成的直播流分片的播放时长,再用它更新对应M3U8索引文件数据RTP包中的相应标签值。
步骤S360,根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放;
在一些实施方式中,播放器根据M3U8索引文件的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
步骤S370,定期向ffmpeg生成器请求新的索引文件,以下载直播流分片进行播放;
在一些实施方式中,定期向ffmpeg生成器请求新的M3U8索引文件,以下载新直播流分片进行播放。
实施例3
请参阅图3,图3为本发明实施例提供的一种新媒体移动直播***模块示意图,包括:
接收模块,用于接收直播频道的直播流并进行ffmpeg切片;
封装模块,用于将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;
第一生成模块,用于当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;
第二生成模块,用于根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;
更新模块,用于以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;
输出模块,用于根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
还包括存储器、处理器和通信接口,该存储器、处理器和通信接口相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器可用于存储软件程序及模块,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。
其中,存储器可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图3所示的结构仅为示意还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供的一种新媒体移动直播方法及***,其能够只在终端设备接收组播流后合成ffmpeg,从***端至终端的传输完全是组播方式,无需单播资源,使得组播和ffmpeg的优点皆保留并充分利用;并且,该方案中ffmpeg生成器能在终端上为播放器提供ffmpeg流,使得终端设备的播放器不需要定制开发,只要支持ffmpeg即可,不要求支持RTSP,降低了终端要求,满足实际应用需求。切片服务器传输RTP直播组播流时,是将一路频道的媒体流和M3U8索引文件数据信息都以同一路组播流传输,最大程度节省了带宽。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种新媒体移动直播方法,其特征在于,包括:
接收直播频道的直播流并进行ffmpeg切片;
将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;
当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;
根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;
以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;
根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
2.如权利要求1所述的一种新媒体移动直播方法,其特征在于,在所述将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出之后还包括:
每当封装后的数据包中包含的是一个直播流分片的最后一部分媒体内容时,生成对应的索引文件数据信息;
将生成的索引文件数据信息另行封装,封装后的数据包以和直播流数据包流同一路组播地址、不同端口号发送。
3.如权利要求2所述的一种新媒体移动直播方法,其特征在于,还包括:
多个封装有索引文件数据信息的数据包,形成索引文件数据包流,直播流数据包流与索引文件数据包流组成实时传输直播组播流。
4.如权利要求1所述的一种新媒体移动直播方法,其特征在于,所述根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件包括:
ffmpeg生成器收到播放器请求播放直播频道后,接收切片服务器发送的该直播频道的实时传输直播组播流;
每当收到索引文件数据包时,根据其包含的对应直播流分片起始直播流数据包序号和结束直播流数据包序号,找到对应直播流分片的所有直播流数据包;
去除各直播流包的数据包头和数据包扩展头后,将其中的直播流分片数据组成一个完整的直播流分片缓存于内存。
5.如权利要求4所述的一种新媒体移动直播方法,其特征在于,还包括:
待收到的索引文件数据包的个数达到ffmpeg生成器预设的配置时,根据当前收到的索引文件数据包,组成一个完整的索引文件。
6.如权利要求4所述的一种新媒体移动直播方法,其特征在于,还包括:
ffmpeg生成器根据索引文件数据包中,包含的对应直播流分片起始直播流数据包序号和结束直播流数据包序号;
找到对应直播流分片的所有直播流数据包时,若在没有重传请求机制下出现未收到部分直播流数据包的情况,ffmpeg生成器根据已收到的直播流数据包,组成一个只包含已收到直播流数据包的媒直播流分片。
7.如权利要求6所述的一种新媒体移动直播方法,其特征在于,包括:
根据数据包扩展头中的Frame_pts参数计算已收到的直播流数据包构成的直播流分片的播放时长;
通过数据包扩展头中的Frame_pts参数更新对应索引文件数据包中的相应标签值。
8.如权利要求1所述的一种新媒体移动直播方法,其特征在于,还包括:
定期向ffmpeg生成器请求新的索引文件,以下载直播流分片进行播放。
9.一种新媒体移动直播***,其特征在于,包括:
接收模块,用于接收直播频道的直播流并进行ffmpeg切片;
封装模块,用于将切片后的直播流分片和索引文件数据信息进行封装,以组播方式发出;
第一生成模块,用于当请求播放任一直播频道时向ffmpeg生成器请索引文件,ffmpeg生成器接收切片服务器发送的该直播频道的直播组播流;
第二生成模块,用于根据索引文件数据信息从组播流中提取直播流分片缓存,生成完整的索引文件;
更新模块,用于以生成的索引文件响应播放器,并持续收流提取直播流分片和索引文件数据信息,以更新直播流分片缓存和索引文件;
输出模块,用于根据索引文件中的分片列表,向ffmpeg生成器请求下载直播流分片进行播放。
10.如权利要求9所述的一种新媒体移动直播***,其特征在于,包括:
用于存储计算机指令的至少一个存储器;
与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器使所述***执行:接收模块、封装模块、第一生成模块、第二生成模块、更新模块以及输出模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011069540.7A CN112203105A (zh) | 2020-09-30 | 2020-09-30 | 一种新媒体移动直播方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011069540.7A CN112203105A (zh) | 2020-09-30 | 2020-09-30 | 一种新媒体移动直播方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112203105A true CN112203105A (zh) | 2021-01-08 |
Family
ID=74014350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011069540.7A Pending CN112203105A (zh) | 2020-09-30 | 2020-09-30 | 一种新媒体移动直播方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112203105A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114173145A (zh) * | 2021-12-08 | 2022-03-11 | 四川启睿克科技有限公司 | 一种基于hls协议动态码率低延迟直播方法 |
CN115103202A (zh) * | 2022-04-27 | 2022-09-23 | 北京歌华有线电视网络股份有限公司 | 一种抗网络劣化的ip视频直播传输方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140380352A1 (en) * | 2013-06-21 | 2014-12-25 | General Instrument Corporation | Trick Play Seek Operation for HLS Converted from DTCP |
CN108924578A (zh) * | 2018-08-24 | 2018-11-30 | 成都九洲电子信息***股份有限公司 | 基于主动网络流媒体的应急广播方法 |
CN111343511A (zh) * | 2020-03-23 | 2020-06-26 | 烽火通信科技股份有限公司 | 一种通过组播实现的hls直播***及方法 |
-
2020
- 2020-09-30 CN CN202011069540.7A patent/CN112203105A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140380352A1 (en) * | 2013-06-21 | 2014-12-25 | General Instrument Corporation | Trick Play Seek Operation for HLS Converted from DTCP |
CN108924578A (zh) * | 2018-08-24 | 2018-11-30 | 成都九洲电子信息***股份有限公司 | 基于主动网络流媒体的应急广播方法 |
CN111343511A (zh) * | 2020-03-23 | 2020-06-26 | 烽火通信科技股份有限公司 | 一种通过组播实现的hls直播***及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114173145A (zh) * | 2021-12-08 | 2022-03-11 | 四川启睿克科技有限公司 | 一种基于hls协议动态码率低延迟直播方法 |
CN115103202A (zh) * | 2022-04-27 | 2022-09-23 | 北京歌华有线电视网络股份有限公司 | 一种抗网络劣化的ip视频直播传输方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343511B (zh) | 一种通过组播实现的hls直播***及方法 | |
Wei et al. | Low latency live video streaming over HTTP 2.0 | |
US10200723B2 (en) | Converting live streaming content to video-on-demand streaming content | |
US20160337424A1 (en) | Transferring media data using a websocket subprotocol | |
US20170127147A1 (en) | Multicast streaming | |
CN108063769B (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
CN106657143A (zh) | 一种流媒体传输方法、装置、服务器及终端 | |
WO2018166320A1 (zh) | 一种频道切换方法及其装置 | |
WO2009070936A1 (fr) | Procédé de publication et de mémorisation de contenu pour un système de distribution multimédia de télévision personnel interactif | |
CN112203105A (zh) | 一种新媒体移动直播方法及*** | |
CN110677737A (zh) | 一种hls直播快速起播方法及*** | |
CN108933764A (zh) | 一种实现快速起播的方法和装置 | |
CN112714335A (zh) | 直播媒体流录制方法、***及计算机可读存储介质 | |
CN108494792A (zh) | 一种flash播放器播放hls视频流的转换***及其工作方法 | |
CN114979023A (zh) | 一种数据传输方法、***、电子设备及存储介质 | |
Begen et al. | Road to salvation: streaming clients and content delivery networks working together | |
WO2020078388A1 (zh) | 一种流媒体数据传输方法、设备、装置和计算机存储介质 | |
CN113079386B (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
WO2021017958A1 (zh) | 视频转码方法及装置 | |
CN108124192A (zh) | Hls流媒体的播放方法及*** | |
WO2020098455A1 (zh) | 媒体流的实时递送方法及服务器 | |
WO2023241057A1 (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110881018B (zh) | 媒体流的实时接收方法及客户端 | |
US8811478B2 (en) | Data transmission method and apparatus | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 |
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: 20210108 |
|
RJ01 | Rejection of invention patent application after publication |