CN105306969A - 一种流媒体自适应处理***及方法 - Google Patents
一种流媒体自适应处理***及方法 Download PDFInfo
- Publication number
- CN105306969A CN105306969A CN201510559442.4A CN201510559442A CN105306969A CN 105306969 A CN105306969 A CN 105306969A CN 201510559442 A CN201510559442 A CN 201510559442A CN 105306969 A CN105306969 A CN 105306969A
- Authority
- CN
- China
- Prior art keywords
- media
- file
- quality grade
- media file
- module
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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
- H04N21/26208—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 the scheduling operation being performed under constraints
- H04N21/26216—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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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/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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种流媒体自适应处理***及方法。发送端对于媒体文件划分多个不同质量等级,对于要发送的媒体文件重编码为不同质量等级的多个文件,并将文件切分为预定间隔的小段逐段发送,根据反馈的网络带宽所确定的发送速率选择质量等级,切换为满足要求的质量等级的媒体文件以充分利用网络资源,接收端根据接收文件的质量等级动态调整缓冲区大小,将接收的文件段组合后解码播放。本发明的方案相比现有技术能够自动适应网络条件的变化效率更高,可以带给用户更好的媒体观看体验。
Description
技术领域
本发明主要涉及流媒体处理***及方法,特别是基于移动终端的流媒体自适应处理方法。
背景技术
当今,网络带宽仍然是流媒体***应用的最大瓶颈,为了应付网络带宽的不足,许多流媒体***将解决办法放在流媒体***架构的改进上。但是在传输上,对于相同的视频内容,传统的流媒体***大多采用单一码率的视频文件来为所有用户提供服务,这种硬性的处理方式,忽略了网络性能较好的部分群体或者一些时段。如图1所示,为一个典型的视频应用***的网络结构图,本发明的研究内容,就是抛开P2P、CDN等复杂的网络架构,专注于讨论两点之间的传输,因此,网络结构较简单,同时抛开NAT穿透等复杂的交互流程,在假设两点之间能够直接通信的前提下进行研究工作。
发明内容
本发明首先研究如何对流媒体文件进行多码率化,提出了媒体质量等级的划分策略,在划分等级的情况下,能够在尽量保证播放质量的情况下最大地减小视频文件的大小,以及在此基础上对经多码率化的流媒体文件在磁盘上的组织和管理方案,以实现在媒体内容切换时的快速定位到下一个需发送的音视频帧。
其次是可用带宽的测量方法的设计,通过采用适合于流媒体应用的具有延迟预警的拥塞控制算法,并结合RTP/RTCP对该算法的计算因子进行实时采集,以获取当前可用的网络带宽。
在实现文件多码率化和可用带宽测量的基础上,重点设计了多码率文件的传输技术,在可用网络带宽发生变化的情况下,自适应地切换到与可用带宽相适应的码率的视频数据内容进行传输,以适应不断变化的网络性能,使得对网络带宽的利用率和选择传输的媒体内容的质量达到最大化。
最后设计了可变编解码参数的Filters播放链路动态重连机制,在自适应传输过程中当所播放的媒体文件的分辨率发生变化时,采用了“最短”的链路长度进行动态重连,防止因为filters动态重连产生的“停顿感”。
实验结果表明,本发明提出的多码率文件的传输技术可以实现网络带宽利用以及媒体播放内容质量的最大化,同时与传统的单码率文件传输相比,在网络带宽较小的情况下,还能够减少缓冲等待次数和降低等待时间,提高了流媒体***的服务质量,因此特别适合移动终端等网络条件不稳定的场合。
为了解决现有技术中存在的缺陷,本发明提出了:
一种流媒体自适应处理方法,其特征在于,
在发送端执行步骤,
步骤A,发送端接受流媒体发送任务,根据任务指示在磁盘文件管理模块找到媒体名称和媒体质量等级所对应的媒体文件,并根据任务指示的开始时间找到所对应的媒体文件段;
步骤B,读取媒体文件段,将媒体数据进行RTP封装;
步骤C,发送封装后的RTP包;
步骤D,测量当前可用带宽;
步骤E,根据可用带宽,通过拥塞控制算法,计算下一个数据包发送速率;
步骤F,如果下一个数据包发送速率与当前媒体质量等级的不匹配,则查找匹配该发送速率的媒体质量等级的媒体文件;如果满足,则跳回步骤B继续进行下一文件段的处理;
步骤G,如果找到,则切换到适合该发送速率的媒体质量等级的媒体文件,跳回步骤B继续进行下一文件段的处理;如果找不到,则根据适合的媒体质量等级对媒体文件进行重编码,并切换到重编码后的媒体文件,跳回步骤B继续进行下一文件段的处理;
接收端执行步骤,
步骤H,接收发送端发来的RTP封装后的数据包;
步骤I,向发送端反馈数据包以便计算带宽;
步骤J,对接收到的RTP包进行解封装;
步骤K,对接收到的媒体数据的音视频帧的进行重组;
步骤L,将重组的音视频帧存入缓冲区;
步骤M,创建filter链路,以实现音视频帧的解码播放;
步骤N,跳回步骤H接收下一个数据包。
如上所述的方法,其特征在于,
步骤A中还包括:
步骤A1,根据任务指示查找是否存在指定的媒体质量等级所对应的媒体文件,如果存在,则选择该媒体文件,如果不存在则根据指定的媒体质量等级对媒体文件进行重编码。
如上所述的方法,其特征在于,
步骤A中还包括:
步骤A2,根据任务指示查找对应的媒体文件,并且根据媒体质量等级的划分策略,将媒体文件重编码为多种不同媒体质量等级的媒体文件,其中包括任务指示指定的媒体质量等级。
如上所述的方法,其特征在于,
步骤A中还包括:
步骤A3,根据预设的时间间隔,将找到媒体文件或者重编码的媒体文件切分为多个文件段。
如上所述的方法,其特征在于,
步骤G中还包括:
步骤G1,根据适合的媒体质量等级对媒体文件进行重编码时,将已经切分后的媒体文件按逐个文件段进行重编码,生成已经分段后的重编码媒体文件。
如上所述的方法,其特征在于,
步骤L中还包括,
步骤L1,判断接收到的媒体数据质量等级是否发生变化,如果是,则调整缓冲区的大小。
如上所述的方法,其特征在于,
步骤M中还包括,
步骤M1,判断接收到的媒体数据质量等级是否发生变化,如果是,则重新连接filter链路。
本发明还提出了一种流媒体自适应处理***,包括发送端和接收端,其特征在于:
发送端包括以下模块;
磁盘文件管理模块,功能是为上层提供文件的查询、文件内容的读取等操作,并实现文件的分类功能;
媒体质量等级划分模块,包括媒体质量等级的划分策略,预设有不同质量等级的参数标准;
媒体文件重编码模块,实现媒体文件的重编码;
媒体文件分段模块,根据设置将媒体文件切分成固定时长的小段;
RTP包组装模块,根据RTP协议,实现媒体文件的文件段的RTP包封装;
媒体质量等级切换模块,当对发送端发送速率进行调整时,对发送的媒体质量等级进行重新选择,选择适合发送速率的质量等级的媒体文件进行发送;
可用带宽测量模块,通过反馈的数据包进行实时地计算得到当前的可用带宽大小;
拥塞控制模块,根据可用带宽,通过拥塞控制算法,计算下一个数据包发送速率;
媒体数据发送模块,实现媒体数据包向对端的发送;
接收端包括以下模块,
媒体数据接收模块,实现媒体数据包的接收;
RTP包解封模块,对接收到的RTP包进行解封装;
音视频帧重组模块,实现音视频帧的重组操作,为上层播放层提供音视频帧的获取接口;
播放器控制接口模块,为用户提供友好的播放控制界面;
FilterGraph管理器模块,FilterGraph管理器功能在于创建filter链路,以实现音视频帧的解码播放,同时还实现在媒体质量等级切换时filter链路的动态重连机制;
缓冲区管理模块,根据接收媒体文件的质量等级设置缓冲区大小,并且缓冲接收到的媒体文件。
附图说明
图1***网络结构图
图2***功能模块图
具体实施方式
本发明的流媒体自适应处理***包括发送端和接收端。
发送端
发送端在多码率文件的传输方案中起着主导性作用,其功能模块包括:磁盘文件管理、媒体质量等级划分、媒体内容质量等级切换、可用带宽测量、媒体数据发送,还可包括报告控制命令等。
磁盘文件管理
磁盘文件管理的功能主要是为上层提供文件的查询、文件内容的读取等操作,并实现文件的分类功能。
媒体质量等级的划分
这部分的内容包括媒体质量等级的划分策略,预设有不同质量等级的参数标准。
媒体文件重编码
实现媒体文件的重编码,需要借助于优秀的媒体编解码开源库FFMPEG。FFMPEG是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,它包括了目前领先的音/视频编码库libavcodec。FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作***中编译,这个项目是由FabriceBellard发起的,现在由MichaelNiedermayer主持,可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。借助于FFMpeg库,对原始的媒体文件重编码到各个等级的媒体文件核心代码算法。
媒体文件分段
文件分段需要借助于开源库MPEG4IP,MPEG4IP库实现了对MP4文件的解析,从中根据播放顺序获取到每一个音视频帧,并且根据设置切分成固定时长的小段。
RTP包组装
并根据RTP协议,将音视频流进行Hint操作,以实现音视频帧的RTP包封装。
媒体内容等级切换
为了达到项目所要确定的目标,防止因网络性能降低而导致客户端缓冲等待,对发送端发送速率进行调整的同时,要求对发送的数据内容进行重新选择,选择适合当前发送速率的媒体数据内容进行发送。
在实现媒体数据内容等级切换时,其切换点以段为单位进行内容等级的切换,即进行切换前,必须先传完当前段的所有数据内容,然后再切换到其他内容等级开始发送下一段的数据。因此,文件分段的时间长度不宜太长,本文采用5秒钟时长的分段策略,在进行RTCP的反馈包交互时,时间间隔也规定为5秒钟。
拥塞控制
在传输过程中,对当前可用带宽的获取采用改进型TFRC拥塞控制算法,根据当前的发送速率选择合适的媒体内容等级,按照规定的发送速率发送数据,使得选择的媒体内容等级的码率与发送速率相适应。
可用带宽测量:通过反馈的RTCP包进行实时地计算得到,向拥塞控制算法模块提供当前的可用带宽大小;
媒体数据发送
媒体数据发送实现媒体数据向对端的发送,采用RTP/RTCP协议对媒体数据内容进行传输。对于视频H264编码,其RTP包有三种打包模式,可参阅参考rfc3984;而对于音频AAC编码,其RTP包的格式可参阅参考rfc3640。实现媒体数据的发送,通过调用段解析模块,读取每一个文件段,对每一个文件段解析出每一个音视频RTP包发送给接收端;
传输过程中,每传送完一个数据段,便根据当前可用带宽判断是否需要切换到其他的媒体内容等级,如果需要,则切换到其他等级读取该等级的下一段数据进行传输,以适应当前网络带宽的变化。
接收端
接收端主要功能模块包括:播放器控制接口、媒体数据接收、RTP包解封、FilterGraph管理器以及接收缓冲区管理。
媒体数据接收
媒体数据的接收模块实现媒体数据包的接收,
RTP包解封
对接收到的RTP包进行解封装,
音视频帧重组
实现音视频帧的重组操作,为上层播放层提供音视频帧的获取接口,
播放器控制接口
为用户提供友好的播放控制界面,包括媒体文件的选择,播放质量的选择,以及播放、暂停、停止、拖动、最大化等VCR操作。
FilterGraph管理器
FilterGraph管理器功能在于创建filter链路,以实现音视频帧的解码播放,同时还实现在媒体质量切换时filter链路的动态重连机制。
缓冲区管理
由于网络传输所带来的迟延,一般在媒体开始播放前,需要经过适当的缓冲时间,缓冲区管理的目标,就是对接收到的网络数据进行缓冲,以等待播放模块获取数据进行解码播放,开辟多大的缓冲区是缓冲区管理模块重点要解决的一个问题,如果采用固定大小的缓冲区,往往不能满足实际的应用需要,因为不同流媒体文件的分辨率、帧率和像素位数等都是不同,在相同大小缓冲区模式下,对不同的媒体质量,其能够缓冲的音视频帧数会有很大的差别,为了屏蔽这种差别,使得媒体能够流畅播放,需要设置一种自适应的缓冲大小调整方案。
自适应处理方法
在发送端执行步骤,
步骤A,发送端接受流媒体发送任务,根据任务指示在磁盘文件管理模块找到媒体名称和媒体质量等级所对应的媒体文件,磁盘上由于可能存在不同质量等级的媒体文件,因此根据任务需要找到两者都相符的,例如影片名称为“A计划”,质量等级为“720P”。如果该影片并不存在任务指定的质量等级,而只有其他等级,例如“1080P”,则可以提示用户重新选择,也可以采用立即重编码的方式,生成满足指定质量等级的影片。无论是原本存在的影片还是重编码新生成的影片,都需要进行分段。任务中会指定播放的起始时间,则根据起始时间找到对应的文件段,并从该文件段开始读取传输;
步骤B,读取媒体文件段,将媒体数据进行RTP封装;
步骤C,发送封装后的RTP包;
步骤D,测量当前可用带宽;测量带宽不必等待一个包发完后才开始,在发送RTP包的同时就可以测量,经过一个时间段或者多个时间点的测量值可以进行统计平均以获得传输过程中的带宽的均值;
步骤E,根据可用带宽,通过拥塞控制算法,计算下一个数据包发送速率;
步骤F,如果下一个数据包发送速率与当前媒体质量等级不匹配,则查找匹配该发送速率的媒体质量等级的媒体文件,常见的情况包括发送速率下降严重,或者发送速率上升较高,则对应的需要降低媒体质量等级或者提高媒体质量等级,这种发送速率与媒体质量等级的对应关系可以预先设置在媒体质量等级划分模块中,以供方便的查询获取;如果满足,则跳回步骤B继续进行下一文件段的处理;
步骤G,如果找到,则切换到适合该发送速率的媒体质量等级的媒体文件,跳回步骤B继续进行下一文件段的处理;如果找不到,则根据适合的媒体质量等级对媒体文件进行重编码,并切换到重编码后的媒体文件,这里的重编码不必是整个文件全部编码结束后才继续处理,而是逐个文件段进行重编码,一旦重编码结束的文件段就可以提供传输,传输的过程中继续后续文件段的重编码,这样的带来的延迟影响较小;跳回步骤B继续进行下一文件段的处理。
优选的,步骤A中还包括:
步骤A1,根据任务指示查找是否存在指定的媒体质量等级所对应的媒体文件,如果存在,则选择该媒体文件,如果不存在则根据指定的媒体质量等级对媒体文件进行重编码。任务开始时可以仅针对指定的媒体质量等级进行重编码,也可以同时将该媒体文件重编码为多种支持的质量等级,以便后续切换质量等级时有多种可用的选择。
优选的,步骤A中还包括:
步骤A2,根据任务指示查找对应的媒体文件,并且根据媒体质量等级的划分策略,将媒体文件重编码为多种不同媒体质量等级的媒体文件,其中包括任务指示指定的媒体质量等级。
优选的,步骤A中还包括:
步骤A3,根据预设的时间间隔,将找到媒体文件或者重编码的媒体文件切分为多个文件段。切分文件段的时间间隔可以预先设定,典型的比如5秒一个文件段,对于网络条件不稳定的情况可以适当缩小例如3秒,网络稳定的环境下可以适当增大。
优选的,步骤G中还包括:
步骤G1,根据适合的媒体质量等级对媒体文件进行重编码时,将已经切分后的媒体文件按逐个文件段进行重编码,生成已经分段后的重编码媒体文件。
接收端执行步骤,
步骤H,接收发送端发来的RTP封装后的数据包;
步骤I,向发送端反馈数据包以便计算带宽;
步骤J,对接收到的RTP包进行解封装;
步骤K,对接收到的媒体数据的音视频帧的进行重组;
步骤L,将重组的音视频帧存入缓冲区;
步骤M,创建filter链路,以实现音视频帧的解码播放;
步骤N,跳回步骤H接收下一个数据包。
优选地,步骤L中还包括,
步骤L1,判断接收到的媒体数据质量等级是否发生变化,如果是,则调整缓冲区的大小;
优选地,步骤M中还包括,
步骤M1,判断接收到的媒体数据质量等级是否发生变化,如果是,则重新连接filter链路。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种流媒体自适应处理方法,其特征在于,
在发送端执行步骤,
步骤A,发送端接受流媒体发送任务,根据任务指示在磁盘文件管理模块找到媒体名称和媒体质量等级所对应的媒体文件,并根据任务指示的开始时间找到所对应的媒体文件段;
步骤B,读取媒体文件段,将媒体数据进行RTP封装;
步骤C,发送封装后的RTP包;
步骤D,测量当前可用带宽;
步骤E,根据可用带宽,通过拥塞控制算法,计算下一个数据包发送速率;
步骤F,如果下一个数据包发送速率与当前媒体质量等级的不匹配,则查找匹配该发送速率的媒体质量等级的媒体文件;如果满足,则跳回步骤B继续进行下一文件段的处理;
步骤G,如果找到,则切换到适合该发送速率的媒体质量等级的媒体文件,跳回步骤B继续进行下一文件段的处理;如果找不到,则根据适合的媒体质量等级对媒体文件进行重编码,并切换到重编码后的媒体文件,跳回步骤B继续进行下一文件段的处理;
接收端执行步骤,
步骤H,接收发送端发来的RTP封装后的数据包;
步骤I,向发送端反馈数据包以便计算带宽;
步骤J,对接收到的RTP包进行解封装;
步骤K,对接收到的媒体数据的音视频帧的进行重组;
步骤L,将重组的音视频帧存入缓冲区;
步骤M,创建filter链路,以实现音视频帧的解码播放;
步骤N,跳回步骤H接收下一个数据包。
2.如权利要求1所述的方法,其特征在于,
步骤A中还包括:
步骤A1,根据任务指示查找是否存在指定的媒体质量等级所对应的媒体文件,如果存在,则选择该媒体文件,如果不存在则根据指定的媒体质量等级对媒体文件进行重编码。
3.如权利要求1所述的方法,其特征在于,
步骤A中还包括:
步骤A2,根据任务指示查找对应的媒体文件,并且根据媒体质量等级的划分策略,将媒体文件重编码为多种不同媒体质量等级的媒体文件,其中包括任务指示指定的媒体质量等级。
4.如权利要求1所述的方法,其特征在于,
步骤A中还包括:
步骤A3,根据预设的时间间隔,将找到媒体文件或者重编码的媒体文件切分为多个文件段。
5.如权利要求1-4之一所述的方法,其特征在于,
步骤G中还包括:
步骤G1,根据适合的媒体质量等级对媒体文件进行重编码时,将已经切分后的媒体文件按逐个文件段进行重编码,生成已经分段后的重编码媒体文件。
6.如权利要求1-4之一所述的方法,其特征在于,
步骤L中还包括,
步骤L1,判断接收到的媒体数据质量等级是否发生变化,如果是,则调整缓冲区的大小。
7.如权利要求1-4之一所述的方法,其特征在于,
步骤M中还包括,
步骤M1,判断接收到的媒体数据质量等级是否发生变化,如果是,则重新连接filter链路。
8.一种流媒体自适应处理***,包括发送端和接收端,其特征在于:
发送端包括以下模块;
磁盘文件管理模块,功能是为上层提供文件的查询、文件内容的读取等操作,并实现文件的分类功能;
媒体质量等级划分模块,包括媒体质量等级的划分策略,预设有不同质量等级的参数标准;
媒体文件重编码模块,实现媒体文件的重编码;
媒体文件分段模块,根据设置将媒体文件切分成固定时长的小段;
RTP包组装模块,根据RTP协议,实现媒体文件的文件段的RTP包封装;
媒体质量等级切换模块,当对发送端发送速率进行调整时,对发送的媒体质量等级进行重新选择,选择适合发送速率的质量等级的媒体文件进行发送;
可用带宽测量模块,通过反馈的数据包进行实时地计算得到当前的可用带宽大小;
拥塞控制模块,根据可用带宽,通过拥塞控制算法,计算下一个数据包发送速率;
媒体数据发送模块,实现媒体数据包向对端的发送;
接收端包括以下模块,
媒体数据接收模块,实现媒体数据包的接收;
RTP包解封模块,对接收到的RTP包进行解封装;
音视频帧重组模块,实现音视频帧的重组操作,为上层播放层提供音视频帧的获取接口;
播放器控制接口模块,为用户提供友好的播放控制界面;
FilterGraph管理器模块,FilterGraph管理器功能在于创建filter链路,以实现音视频帧的解码播放,同时还实现在媒体质量等级切换时filter链路的动态重连机制;
缓冲区管理模块,根据接收媒体文件的质量等级设置缓冲区大小,并且缓冲接收到的媒体文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510559442.4A CN105306969A (zh) | 2015-09-02 | 2015-09-02 | 一种流媒体自适应处理***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510559442.4A CN105306969A (zh) | 2015-09-02 | 2015-09-02 | 一种流媒体自适应处理***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105306969A true CN105306969A (zh) | 2016-02-03 |
Family
ID=55203644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510559442.4A Pending CN105306969A (zh) | 2015-09-02 | 2015-09-02 | 一种流媒体自适应处理***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105306969A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254963A (zh) * | 2016-08-19 | 2016-12-21 | 熊安永 | 一种实时同步传输音频视频信号的方法 |
CN107645475A (zh) * | 2016-07-22 | 2018-01-30 | 上海云熵网络科技有限公司 | 异质网络中的文件资源分发***与方法 |
WO2018072729A1 (zh) * | 2016-10-19 | 2018-04-26 | 中兴通讯股份有限公司 | 媒体流的发送、接收方法及装置、***、视频中继 |
CN108833350A (zh) * | 2018-05-16 | 2018-11-16 | 武汉烽火凯卓科技有限公司 | 一种适用于多服务器自适应流媒体***的数据传输方法 |
CN108989740A (zh) * | 2018-08-06 | 2018-12-11 | 北京数码视讯科技股份有限公司 | 一种视频会议***和方法 |
WO2019227738A1 (zh) * | 2018-05-29 | 2019-12-05 | 北京字节跳动网络技术有限公司 | 网页中切换分辨率播放媒体文件的方法、装置及存储介质 |
CN110881018A (zh) * | 2018-09-05 | 2020-03-13 | 北京开广信息技术有限公司 | 媒体流的实时接收方法及客户端 |
WO2022151381A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为技术有限公司 | 一种通信方法与装置 |
CN115474063A (zh) * | 2022-10-27 | 2022-12-13 | 中诚华隆计算机技术有限公司 | 一种流媒体后端解码方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156201A1 (en) * | 2000-05-31 | 2006-07-13 | Microsoft Corporation | Resource Allocation in Multi-Stream IP Network for Optimized Quality of Service |
CN102123303A (zh) * | 2011-03-25 | 2011-07-13 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频文件播放方法、***及传输控制装置 |
CN103561282A (zh) * | 2013-10-29 | 2014-02-05 | 联想中望***服务有限公司 | 流媒体文件的数据传输方法和装置 |
CN103873948A (zh) * | 2012-12-10 | 2014-06-18 | 中国电信股份有限公司 | 流媒体自适应匹配传输方法、***和服务器 |
CN105323604A (zh) * | 2015-10-29 | 2016-02-10 | 西安交通大学 | 一种QoE驱动的HTTP流媒体点播缓冲区控制方法 |
CN106576182A (zh) * | 2014-09-23 | 2017-04-19 | 英特尔公司 | 视频质量提升 |
-
2015
- 2015-09-02 CN CN201510559442.4A patent/CN105306969A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156201A1 (en) * | 2000-05-31 | 2006-07-13 | Microsoft Corporation | Resource Allocation in Multi-Stream IP Network for Optimized Quality of Service |
CN102123303A (zh) * | 2011-03-25 | 2011-07-13 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频文件播放方法、***及传输控制装置 |
CN103873948A (zh) * | 2012-12-10 | 2014-06-18 | 中国电信股份有限公司 | 流媒体自适应匹配传输方法、***和服务器 |
CN103561282A (zh) * | 2013-10-29 | 2014-02-05 | 联想中望***服务有限公司 | 流媒体文件的数据传输方法和装置 |
CN106576182A (zh) * | 2014-09-23 | 2017-04-19 | 英特尔公司 | 视频质量提升 |
CN105323604A (zh) * | 2015-10-29 | 2016-02-10 | 西安交通大学 | 一种QoE驱动的HTTP流媒体点播缓冲区控制方法 |
Non-Patent Citations (1)
Title |
---|
芮延先,陈岗,曹风: "《计算机网络》", 31 May 2009 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107645475B (zh) * | 2016-07-22 | 2019-12-27 | 上海云熵网络科技有限公司 | 异质网络中的文件资源分发***与方法 |
CN107645475A (zh) * | 2016-07-22 | 2018-01-30 | 上海云熵网络科技有限公司 | 异质网络中的文件资源分发***与方法 |
CN106254963A (zh) * | 2016-08-19 | 2016-12-21 | 熊安永 | 一种实时同步传输音频视频信号的方法 |
WO2018072729A1 (zh) * | 2016-10-19 | 2018-04-26 | 中兴通讯股份有限公司 | 媒体流的发送、接收方法及装置、***、视频中继 |
CN108833350A (zh) * | 2018-05-16 | 2018-11-16 | 武汉烽火凯卓科技有限公司 | 一种适用于多服务器自适应流媒体***的数据传输方法 |
CN108833350B (zh) * | 2018-05-16 | 2021-02-02 | 武汉烽火凯卓科技有限公司 | 一种适用于多服务器自适应流媒体***的数据传输方法 |
WO2019227738A1 (zh) * | 2018-05-29 | 2019-12-05 | 北京字节跳动网络技术有限公司 | 网页中切换分辨率播放媒体文件的方法、装置及存储介质 |
US10924801B2 (en) | 2018-05-29 | 2021-02-16 | Beijing Bytedance Network Technology Co., Ltd. | Method and device for playing media file while switching resolution in webpage and storage medium |
CN108989740A (zh) * | 2018-08-06 | 2018-12-11 | 北京数码视讯科技股份有限公司 | 一种视频会议***和方法 |
CN110881018A (zh) * | 2018-09-05 | 2020-03-13 | 北京开广信息技术有限公司 | 媒体流的实时接收方法及客户端 |
CN110881018B (zh) * | 2018-09-05 | 2020-11-03 | 北京开广信息技术有限公司 | 媒体流的实时接收方法及客户端 |
WO2022151381A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为技术有限公司 | 一种通信方法与装置 |
CN115474063A (zh) * | 2022-10-27 | 2022-12-13 | 中诚华隆计算机技术有限公司 | 一种流媒体后端解码方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306969A (zh) | 一种流媒体自适应处理***及方法 | |
US11076187B2 (en) | Systems and methods for performing quality based streaming | |
RU2658642C1 (ru) | Улучшение качества видео | |
US9936206B2 (en) | Distributed encoding of a video stream | |
US9351020B2 (en) | On the fly transcoding of video on demand content for adaptive streaming | |
US8838824B2 (en) | Method and apparatus for delivery of adapted media | |
US10498790B2 (en) | Systems and methods for multicast delivery of a managed bundle in service provider networks | |
US9258333B2 (en) | Method for recovering content streamed into chunk | |
US9042449B2 (en) | Systems and methods for dynamic transcoding of indexed media file formats | |
EP3217670B1 (en) | Policy based transcoding | |
US20140181266A1 (en) | System, streaming media optimizer and methods for use therewith | |
US9113182B2 (en) | Selecting a media content source based on monetary cost | |
US10298965B2 (en) | Selection of a content source based on performance data | |
CA2844648A1 (en) | Method and apparatus for adaptive transcoding of multimedia stream | |
US9253545B2 (en) | Routing media content based on monetary cost | |
CN105306970A (zh) | 一种流媒体直播发送速度的控制方法及装置 | |
HASHEMIZADEHNAEINI | Transcoding H. 264 Video via FFMPEG encoder | |
EP2733953A1 (en) | Content compression system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160203 |