CN102857730A - 一种缓存帧数据的方法及系统 - Google Patents
一种缓存帧数据的方法及系统 Download PDFInfo
- Publication number
- CN102857730A CN102857730A CN2012103013659A CN201210301365A CN102857730A CN 102857730 A CN102857730 A CN 102857730A CN 2012103013659 A CN2012103013659 A CN 2012103013659A CN 201210301365 A CN201210301365 A CN 201210301365A CN 102857730 A CN102857730 A CN 102857730A
- Authority
- CN
- China
- Prior art keywords
- frame
- server
- key frame
- reference frame
- corresponding reference
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种缓存帧数据的方法及系统,本发明方法包括以下步骤。发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据。所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。
Description
技术领域
本发明属于即时通信领域,尤其涉及一种缓存帧数据的方法及系统。
背景技术
随着信息化社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。在实际使用中,音视频数据播放的流畅与否对网络会议质量起着关键作用。于现有技术中,为压缩视频文件容量,通常视频帧数据中两个相邻关键帧之间的间隔帧数量较大。当客户端播放此类视频帧数据时,常常出现播放不连续、甚至延迟十分严重的现象,降低了客户体验。
发明内容
本发明提供一种缓存帧数据的方法及系统以解决上述问题。
本发明提供一种缓存帧数据的方法,包括以下步骤。发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据。所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。
本发明提供一种缓存帧数据的系统,包括发送端、服务器及接收端,所述发送端连接所述服务器,所述服务器连接所述接收端。所述发送端,用于与服务器建立连接后向所述服务器发送帧数据。所述服务器,用于接收并解析所述帧数据后,缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。所述接收端,用于与所述服务器建立连接后,接收并播放所述服务器推送的关键帧及参照帧。
相较于先前技术,根据本发明提供的缓存帧数据的方法及系统,发送端与服务器建立连接后向服务器发送帧数据。所述服务器解析并缓存帧数据的关键帧及相应参照帧,当服务器接收到下一个关键帧时,重新开始缓存下一个关键帧及其相应参照帧,可实现网页上视频数据的录播。接收端与服务器建立连接后,服务器根据接收端的请求推送或主动推送当前缓存的关键帧及参照帧至所述接收端,如此,有效解决了帧视频播放不连续及延迟时间长的问题,保证了视频会议的质量。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的缓存帧数据的方法流程图;
图2所示为根据本发明的较佳实施例提供的缓存帧数据的系统示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的缓存帧数据的方法。如图1所示,本发明的较佳实施例提供的缓存帧数据的方法包括步骤101~103。
步骤101:发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据。
具体而言,所述发送端向服务器发送的帧数据,可以为所述发送端本地存储的视频帧数据,也可以为所述发送端实时录制的视频帧数据。所述服务器接收帧数据后,解析所述帧数据的方式为,获取所述帧数据的第一个字节,并根据所述第一个字节判断所述帧数据为关键帧或参照帧。若帧数据中数据包的第一个字节是0x12或者0x17,该帧为关键帧,否则该帧为参照帧。
步骤102:所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。
具体而言,所述服务器解析所述帧数据并查找到所述关键帧后,标记所述关键帧的位置,并缓存所述关键帧及所述关键帧之后的参照帧。当所述服务器接收到下一个关键帧时,重新标记所述下一个关键帧,并缓存所述下一个关键帧及其相应参照帧,即服务器只缓存最新接收的关键帧及其相应参照帧。其中,所述服务器接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧的方式为:所述服务器缓存完所述下一个关键帧及其相应参照帧后,删除之前缓存的关键帧及相应参照帧;或者所述服务器缓存所述下一个关键帧及其相应参照帧的同时,删除之前缓存的关键帧及相应参照帧。
步骤103:接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。
具体而言,接收端与服务器建立连接的时间,可以在发送端与服务器建立连接之前,也可以在发送端与服务器建立连接的同时或之后。所述服务器推送所述当前缓存的关键帧及参照帧至所述接收端时,调整所述关键帧的时间戳为零。其中,所述服务器从第二个关键帧开始调整时间戳,对于第一个关键帧,则不需调整时间戳。所述接收端接收所述关键帧及参照帧后,按照所述时间戳播放所述关键帧及参照帧。
举例而言,发送端通过rtmp协议,使用flash函数NetConnect.connect()建立与服务器之间的连接后,所述发送端通过Camera对象获取视频帧数据,并使用flash函数NetStream.publish()将所述视频帧数据发送到服务器。若某一时刻,服务器接收到一帧数据且判断该帧数据为关键帧(即,I帧),则服务器标记所述I帧的位置,并缓存所述I帧及其相应参照帧P帧(依次为P1帧、P2帧……)到内存中insertIFrame(this)。所述服务器缓存完所述I帧及相应P帧的帧数据后,删除缓存的上一组帧数据。若此时接收端与服务器建立连接并向服务器发送请求,服务器向所述接收端发送数据的同时,修改所述I帧的时间戳为零,并依次修改其相应参照帧的时间戳(即P1帧时间戳为一,P2帧时间戳为二并依此类推)。接收端接收到所述I帧及相应P帧帧数据后,按照时间戳播放所述帧数据。
图2所示为本发明的较佳实施例提供的缓存帧数据的系统示意图。如图2所示,本发明的较佳实施例提供的缓存帧数据的系统包括发送端201、服务器202及接收端203,所述发送端201连接所述服务器202,所述服务器202连接所述接收端203。所述发送端201,用于与服务器202建立连接后向所述服务器203发送帧数据。所述服务器203,用于接收并解析所述帧数据后,缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧。所述接收端203,用于与所述服务器202建立连接后,接收并播放所述服务器202推送的关键帧及参照帧。关于上述系统的操作流程同上述方法所述,故于此不再赘述。
综上所述,根据本发明的较佳实施例提供缓存帧数据的方法及系统,发送端与服务器建立连接后向服务器发送帧数据。所述服务器解析并缓存帧数据的关键帧及相应参照帧,当服务器接收到下一个关键帧时,重新开始缓存下一个关键帧及其相应参照帧,可实现网页上视频数据的录播。接收端与服务器建立连接后,服务器根据接收端的请求推送或主动推送当前缓存的关键帧及参照帧至所述接收端,如此,有效解决了帧视频播放不连续及延迟时间长的问题,保证了视频会议的质量。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种缓存帧数据的方法,其特征在于,包括以下步骤:
发送端与服务器建立连接后向所述服务器发送帧数据,所述服务器接收并解析所述帧数据;
所述服务器缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧;
接收端与服务器建立连接后,所述服务器根据接收端的请求推送或主动推送所述当前缓存的关键帧及参照帧至所述接收端。
2.根据权利要求1所述的方法,其特征在于,所述服务器解析所述帧数据后,标记所述关键帧,并缓存所述关键帧及其相应参照帧。
3.根据权利要求1所述的方法,其特征在于,所述服务器解析所述帧数据的方式为,获取所述帧数据的第一个字节,并根据所述第一个字节判断所述帧数据为关键帧或参照帧。
4.根据权利要求1所述的方法,其特征在于,所述服务器推送所述当前缓存的关键帧及参照帧至所述接收端时,调整所述关键帧的时间戳为零。
5.根据权利要求1所述的方法,其特征在于,所述接收端接收所述关键帧及参照帧后,按照所述时间戳播放所述关键帧及参照帧。
6.根据权利要求1所述的方法,其特征在于,所述服务器接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧的方式为,所述服务器缓存完所述下一个关键帧及其相应参照帧后,删除之前缓存的关键帧及相应参照帧。
7.根据权利要求1所述的方法,其特征在于,所述服务器接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧的方式还可以为,所述服务器缓存所述下一个关键帧及其相应参照帧的同时,删除之前缓存的关键帧及相应参照帧。
8.一种缓存帧数据的系统,其特征在于,包括发送端、服务器及接收端,所述发送端连接所述服务器,所述服务器连接所述接收端,
所述发送端,用于与服务器建立连接后向所述服务器发送帧数据,
所述服务器,用于接收并解析所述帧数据后,缓存所述帧数据的关键帧及相应参照帧,并当接收到下一个关键帧时,重新开始缓存所述下一个关键帧及其相应参照帧,
所述接收端,用于与所述服务器建立连接后,接收并播放所述服务器推送的关键帧及参照帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103013659A CN102857730A (zh) | 2012-08-23 | 2012-08-23 | 一种缓存帧数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103013659A CN102857730A (zh) | 2012-08-23 | 2012-08-23 | 一种缓存帧数据的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102857730A true CN102857730A (zh) | 2013-01-02 |
Family
ID=47403873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103013659A Pending CN102857730A (zh) | 2012-08-23 | 2012-08-23 | 一种缓存帧数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102857730A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105828195A (zh) * | 2016-03-10 | 2016-08-03 | 乐视云计算有限公司 | 一种播放器的挂起恢复方法和装置 |
CN106488273A (zh) * | 2016-10-10 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
CN106604064A (zh) * | 2016-12-30 | 2017-04-26 | 北京奇艺世纪科技有限公司 | 一种快速开播方法及装置 |
CN106713941A (zh) * | 2017-01-04 | 2017-05-24 | 北京百度网讯科技有限公司 | 一种音视频直播的实现方法和服务器 |
CN106791994A (zh) * | 2016-12-30 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 一种低延时快速开播方法及装置 |
CN106998485A (zh) * | 2016-01-25 | 2017-08-01 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
CN107566918A (zh) * | 2017-09-21 | 2018-01-09 | 中国电子科技集团公司第二十八研究所 | 一种视频分发场景下的低延时取流秒开方法 |
CN107690073A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种视频直播方法及视频直播服务器 |
CN109218645A (zh) * | 2017-07-06 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 一种多媒体数据录制方法及装置 |
CN109348279A (zh) * | 2018-09-26 | 2019-02-15 | 广州虎牙信息科技有限公司 | 一种推流方法、装置、设备及存储介质 |
CN110099238A (zh) * | 2019-05-31 | 2019-08-06 | 杭州涂鸦信息技术有限公司 | 一种视频帧数据的封装方法、智能终端以及存储装置 |
CN110798734A (zh) * | 2018-08-02 | 2020-02-14 | 广州视源电子科技股份有限公司 | 视频帧的缓存和转发方法、装置和计算机设备 |
CN112969075A (zh) * | 2021-01-29 | 2021-06-15 | 北京字节跳动网络技术有限公司 | 直播过程中的补帧方法、装置及计算设备 |
CN113242446A (zh) * | 2021-04-30 | 2021-08-10 | 北京字节跳动网络技术有限公司 | 视频帧的缓存方法、转发方法、通信服务器及程序产品 |
CN114422702A (zh) * | 2022-01-26 | 2022-04-29 | 北京拙河科技有限公司 | 基于高倍重载云台的全覆盖式区域可视化方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060418A (zh) * | 2007-05-24 | 2007-10-24 | 上海清鹤数码科技有限公司 | 适用于带时移iptv直播服务器的专用磁盘读写系统 |
CN101193269A (zh) * | 2006-11-22 | 2008-06-04 | 中兴通讯股份有限公司 | 一种提高客户端vcr操作的响应速度的方法 |
CN101212328A (zh) * | 2006-12-27 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统及其方法 |
CN102611945A (zh) * | 2011-12-19 | 2012-07-25 | 北京蓝汛通信技术有限责任公司 | 一种流媒体切片方法、切片服务器及流媒体点播系统 |
-
2012
- 2012-08-23 CN CN2012103013659A patent/CN102857730A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193269A (zh) * | 2006-11-22 | 2008-06-04 | 中兴通讯股份有限公司 | 一种提高客户端vcr操作的响应速度的方法 |
CN101212328A (zh) * | 2006-12-27 | 2008-07-02 | 中兴通讯股份有限公司 | 组播频道快速启动系统及其方法 |
CN101060418A (zh) * | 2007-05-24 | 2007-10-24 | 上海清鹤数码科技有限公司 | 适用于带时移iptv直播服务器的专用磁盘读写系统 |
CN102611945A (zh) * | 2011-12-19 | 2012-07-25 | 北京蓝汛通信技术有限责任公司 | 一种流媒体切片方法、切片服务器及流媒体点播系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998485B (zh) * | 2016-01-25 | 2020-03-06 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
CN106998485A (zh) * | 2016-01-25 | 2017-08-01 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
CN105828195A (zh) * | 2016-03-10 | 2016-08-03 | 乐视云计算有限公司 | 一种播放器的挂起恢复方法和装置 |
CN107690073A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种视频直播方法及视频直播服务器 |
CN106488273A (zh) * | 2016-10-10 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
CN106488273B (zh) * | 2016-10-10 | 2019-09-10 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
CN106791994B (zh) * | 2016-12-30 | 2020-11-24 | 北京奇艺世纪科技有限公司 | 一种低延时快速开播方法及装置 |
CN106604064A (zh) * | 2016-12-30 | 2017-04-26 | 北京奇艺世纪科技有限公司 | 一种快速开播方法及装置 |
CN106791994A (zh) * | 2016-12-30 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 一种低延时快速开播方法及装置 |
CN106713941A (zh) * | 2017-01-04 | 2017-05-24 | 北京百度网讯科技有限公司 | 一种音视频直播的实现方法和服务器 |
CN109218645A (zh) * | 2017-07-06 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 一种多媒体数据录制方法及装置 |
CN107566918A (zh) * | 2017-09-21 | 2018-01-09 | 中国电子科技集团公司第二十八研究所 | 一种视频分发场景下的低延时取流秒开方法 |
CN107566918B (zh) * | 2017-09-21 | 2019-08-13 | 中国电子科技集团公司第二十八研究所 | 一种视频分发场景下的低延时取流秒开方法 |
CN110798734A (zh) * | 2018-08-02 | 2020-02-14 | 广州视源电子科技股份有限公司 | 视频帧的缓存和转发方法、装置和计算机设备 |
CN109348279B (zh) * | 2018-09-26 | 2021-03-23 | 广州虎牙信息科技有限公司 | 一种推流方法、装置、设备及存储介质 |
CN109348279A (zh) * | 2018-09-26 | 2019-02-15 | 广州虎牙信息科技有限公司 | 一种推流方法、装置、设备及存储介质 |
CN110099238A (zh) * | 2019-05-31 | 2019-08-06 | 杭州涂鸦信息技术有限公司 | 一种视频帧数据的封装方法、智能终端以及存储装置 |
CN112969075A (zh) * | 2021-01-29 | 2021-06-15 | 北京字节跳动网络技术有限公司 | 直播过程中的补帧方法、装置及计算设备 |
CN113242446A (zh) * | 2021-04-30 | 2021-08-10 | 北京字节跳动网络技术有限公司 | 视频帧的缓存方法、转发方法、通信服务器及程序产品 |
CN113242446B (zh) * | 2021-04-30 | 2023-02-28 | 北京字节跳动网络技术有限公司 | 视频帧的缓存方法、转发方法、通信服务器及程序产品 |
CN114422702A (zh) * | 2022-01-26 | 2022-04-29 | 北京拙河科技有限公司 | 基于高倍重载云台的全覆盖式区域可视化方法与装置 |
CN114422702B (zh) * | 2022-01-26 | 2022-10-18 | 北京拙河科技有限公司 | 基于高倍重载云台的全覆盖式区域可视化方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857730A (zh) | 一种缓存帧数据的方法及系统 | |
KR101704619B1 (ko) | 네트워크 스트리밍에 대한 가변 미디어 데이터 결정 | |
WO2023024834A9 (zh) | 一种游戏数据处理方法、装置及存储介质 | |
US9860335B2 (en) | Method, device and system for delivering live content | |
US11095701B2 (en) | Method and apparatus for providing adaptive streaming service | |
KR101584476B1 (ko) | 미디어 콘텐츠의 결합된 유니캐스트-멀티캐스트/브로드캐스트 스트리밍을 위한 경험 품질 보고 | |
JP5588517B2 (ja) | データセグメントのオプションのブロードキャスト配信によるストリーミング | |
CN107819809B (zh) | 对内容进行同步操作的方法及装置 | |
CN103518351A (zh) | 使用文件递送方法的ip广播流式传输服务分布 | |
EP3095247B1 (en) | Robust live operation of dash | |
CN112399190B (zh) | 音视频数据获取方法及其装置 | |
US20090222576A1 (en) | Method and apparatus for reducing power consumption of a network communication device receiving streaming content via an ip-based network | |
CN101098470A (zh) | 一种基于p2p技术的流媒体节目播放/接收方法及装置 | |
WO2021000379A1 (zh) | 一种网络数据调度方法及边缘节点 | |
US9826283B2 (en) | Apparatus and method for inserting advertisement in a broadcasting system | |
WO2016197759A1 (zh) | 信息展示方法、终端设备、服务器和系统 | |
US20120117265A1 (en) | Method and communication system for implementing stream services, and relevant device | |
CN101562530B (zh) | 一种点对点移动流媒体的传输方法和播放器 | |
JP7259056B2 (ja) | メディアストリーム送信方法、装置、システム、およびデバイス | |
WO2021017958A1 (zh) | 视频转码方法及装置 | |
CN101378356B (zh) | 一种ip实时流媒体的播放方法 | |
US20190191204A1 (en) | System and method for preemptive advertisement caching to optimize network traffic | |
WO2018171567A1 (zh) | 播放媒体流的方法、服务器及终端 | |
Tabari et al. | Low latency live video streaming on android devices using web-socket | |
CN101998143B (zh) | 组播视频数据的方法、单播服务器及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130102 |