WO2014075453A1 - 一种实时流媒体上传中的丢帧控制与续传方法及系统 - Google Patents

一种实时流媒体上传中的丢帧控制与续传方法及系统 Download PDF

Info

Publication number
WO2014075453A1
WO2014075453A1 PCT/CN2013/078979 CN2013078979W WO2014075453A1 WO 2014075453 A1 WO2014075453 A1 WO 2014075453A1 CN 2013078979 W CN2013078979 W CN 2013078979W WO 2014075453 A1 WO2014075453 A1 WO 2014075453A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
time
real
video data
frame
Prior art date
Application number
PCT/CN2013/078979
Other languages
English (en)
French (fr)
Inventor
张国强
张怀畅
陈翔宇
Original Assignee
掌赢信息科技(上海)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 掌赢信息科技(上海)有限公司 filed Critical 掌赢信息科技(上海)有限公司
Publication of WO2014075453A1 publication Critical patent/WO2014075453A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Definitions

  • the invention relates to a frame dropping control and resume transmission method and system in real-time streaming media uploading, and belongs to the technical field of network multimedia data transmission. Background technique
  • Such a system usually includes a video capture end and a media server end.
  • the video capture end uploads the real-time captured content to the media server in time, and broadcasts it to the interested user group through the media server.
  • the media server must also store the video captured in real time, on the one hand as a backup, on the other hand to meet the on-demand requirements of subsequent users.
  • the video capturing end should be allowed to selectively upload the video stream to the media server in real time. Discard some video frames that have been played without benefit (such as video frames that exceed the expected playback time point).
  • the real-time streaming media transmission protocol achieves the purpose of real-time playback by allowing frame dropping.
  • dropping frames will reduce the quality of the live video. If these discarded frames are not restored, the video backed up by the media server will also be an incomplete video, and the content viewed by the subsequent users on-demand will be the same as the live user experience. Conversely, if these dropped frames can be recovered, the picture quality of the video can be improved, thereby providing a high quality experience for subsequent on-demand users.
  • the technical problem to be solved by the present invention is a frame dropping control and continuous transmission method and system in real-time streaming media uploading based on the defects of the background technology, which selectively drops frames through the application layer and discards the discarded data frames. Temporarily exists in the client retransmission queue to ensure the real-time transmission of the live broadcast. On the other hand, the integrity of the stored video is ensured by timely retransmission of the video frame temporarily stored in the retransmission queue through the new connection.
  • a frame dropping control and resume transmission system in real-time streaming media uploading comprising a video acquiring end and a media server end;
  • the video acquisition end is configured to acquire video scene data in real time, and upload a video data frame to the media server end in a real-time and resumed manner, where the media server end is used to receive the video data frame of the video acquisition end in real time and resumed transmission.
  • live, store and merge among them,
  • the video acquisition end includes:
  • a video capture module configured to acquire video scene data in real time, and mark a pre-play time
  • the first video sequence identifier negotiation module is configured to negotiate with the media server to generate a unique identifier of each video frame sequence.
  • a sending queue configured to store a sequence of video frames to be sent
  • a sending queue detecting module configured to detect whether a video data frame in the sending queue is located in a sending window; e. a real-time video uploading module, configured to sequentially send a video data frame located in the sending window to the media server; And a retransmission queue, configured to store a video data frame located outside the sending window due to a real-time transmission delay; g, a retransmission module, configured to upload a video data frame in the resume transmission queue to the media server end during a subsequent network channel unobstructed time ;
  • the media server side includes:
  • a second video sequence identifier negotiation module configured to negotiate with a video acquisition end to generate a unique identifier of each video frame sequence
  • a real-time video receiving module configured to receive a real-time video data frame sent by the real-time video uploading module
  • j a real-time video live broadcast module, configured to broadcast the real-time received video data frame to a required user group
  • k a storage module And storing the video data frame received in real time, and generating a video sequence file according to the unique identifier corresponding to the video data frame
  • a continuous transmission receiving module configured to receive a video data frame of the resume transmission module
  • the video combining module is configured to combine the received resumed video data frame and the corresponding identified video sequence file according to the unique identifier of the video frame sequence to generate a complete video sequence file.
  • the invention also provides a frame dropping control and a continuous transmission method in real-time streaming media uploading, the method is based on a video acquiring end and a media server end; the video acquiring end is used for real-time acquiring video scene data, and real-time and continuous transmission
  • the video data frame is uploaded to the media server in two ways, and the media server is configured to receive the real-time and resumed video data frames of the video acquisition end, and perform live broadcast, storage, and merging;
  • the workflow of the video acquisition side includes:
  • Step 1 Negotiating with the media server, an identifier for uniquely identifying each sequence of video frames;
  • Step 2 Obtain video scene data in real time, and mark the pre-play time, and place the video data frame into the sending queue;
  • Step 3 detecting a video data frame in the sending queue when the new video frame sequence arrives, and placing an outdated video data frame located outside the sending window into the resumed queue;
  • Step 4 Send the video data frame located in the sending window to the media server end in sequence
  • Step 5 upload a video data frame located in the renewed queue to the media server through the new connection at a time when the subsequent network channel is unobstructed;
  • the media server side workflow includes:
  • Step 6 receiving a real-time video data frame sent by the video acquisition end, and then performing live broadcast; and simultaneously storing the received video data frame according to a unique identifier corresponding to the video data frame to generate a video sequence file;
  • Step 7 Receive a video data frame that is continuously transmitted by the video acquisition end, and combine the received resumed video data frame and the corresponding identified video sequence file to generate a complete video sequence file.
  • the step 3 includes the following steps:
  • Step 32 Detect an expected playing time of the video data frame in the sending queue, and if the expected playing time T P ⁇ T Q , place the video data frame into the resumed queue;
  • Step 33 For the video data frame located in the sending window, if the next video data frame to be sent in sequence is a non-key frame, it is determined whether the key frame corresponding to the non-key frame is successfully sent: if the sending is successful, Normally sending the non-key frame; if the transmission fails or times out, all non-key frames from the non-key frame to the next occurrence of the key frame are removed from the sending window and placed in the resume queue;
  • Step 34 The video data frames waiting to be resumed are organized based on the unique identifier of the sequence of video frames in the resume queue.
  • the step 5 includes the following steps:
  • Step 51 The video acquiring end first sends the unique identifier of the video frame sequence to which the video data frame to be retransmitted belongs to the media server end;
  • Step 52 After obtaining the media server end confirmation, the video acquiring end starts uploading the video data frame.
  • Step 53 Each time a video data frame is successfully uploaded, the video acquiring end deletes the video data frame from the resume transmission queue.
  • Step 54 After all the video data frames are successfully uploaded, release the corresponding retransmission queue corresponding to the video sequence identifier. Further, in a real-time streaming media uploading method of the frame dropping control and the continuous transmission method, the step 7 includes the following steps:
  • Step 71 Receive a unique identifier of a sequence of video frames to which the video data frame to be retransmitted is sent by the video acquiring end.
  • Step 72 Send an acknowledgement message to the video acquiring end.
  • Step 73 Determine a video sequence file corresponding to the video data frame by using a video frame sequence unique identifier.
  • Step 74 Combine and store the received resumed video data frame and the corresponding video sequence file according to the timestamp information.
  • the present invention has the following technical effects:
  • the sending window is set up to ensure that the video frames located outside the sending window are no longer uploaded by the real-time video uploading module, ensuring real-time transmission of the live broadcast and saving transmission bandwidth.
  • the discarded video frames are not permanently discarded, but are placed in the resumed queue, and then retransmitted through the new connection when the network condition is slightly better, thereby ensuring the integrity of the stored video and improving the quality of the on-demand video. .
  • FIG. 1 is a schematic diagram of application scenario configuration of frame dropping control and resume transmission of real-time streaming media uploading
  • FIG. 2 is a flow chart of a video acquisition end and a video server end
  • FIG. 3 is a schematic diagram of a video frame loss control method based on a transmission window
  • FIG. 4 is a flow chart of real-time processing of the video capture end and the media server end.
  • the frame loss control and resume transmission system in the real-time streaming media uploading of the present invention includes two parts: a video acquisition end and a media server end.
  • the video acquisition end is used to acquire video scene data in real time, and uploads to the media server in real time and resumed mode, including: a video capture module, configured to acquire video scene data in real time, and mark a pre-play time;
  • a video sequence identifier negotiation module configured to negotiate with the media server to identify the identifier of the video sequence
  • a sending queue detecting module configured to detect whether a video frame in the sending queue is located in a sending window; Sending a video data frame in the sending window to the media server in sequence; a resuming module, configured to upload a video frame in the resumed queue to the media server at a subsequent time; a sending queue, configured to store the unsent video frame sequence ;
  • the media server is configured to receive real-time and resumed video frames, and perform live broadcast, storage, and merging, including: a video sequence identifier negotiation module, configured to negotiate with the video acquisition end to identify the identifier of the video sequence; a module, configured to receive a real-time video data frame;
  • a real-time video live broadcast module configured to broadcast real-time received video data to a required user group
  • a storage module configured to store the video data received in real time
  • a continuous transmission receiving module configured to receive a resumed video data frame
  • the video merging module is configured to combine the received resumed video data frame and the corresponding video sequence file to generate a smoother video sequence file.
  • the method for controlling frame loss and resuming in real-time streaming media uploading of the present invention includes a workflow of a video acquiring end and a workflow of a media server end.
  • the workflow of the video acquisition end includes:
  • Step 1 Negotiate with the server an identifier for uniquely identifying the video sequence.
  • Step 2 The video capture module obtains video scene data in real time, marks the pre-play time, and places the video frame into the transmission queue.
  • Step 3 The sending queue detecting module detects the video frame in the sending queue when the new video frame arrives, and places the obsolete video frame located outside the sending window into the resumed queue.
  • step 3 is further refined into
  • Step 32 Detect the expected playing time of the video frame in the sending queue if its expected playing time T P ⁇ T. , the video frame is placed in the resume queue;
  • Step 33 For the frame located in the sending window, if the next frame to be sent in sequence is a P frame (ie, a non-key frame), it is determined whether the key frame corresponding to the non-key frame is successfully sent: if the sending is successful, The non-key frame is normally sent; if the transmission fails, it indicates that the corresponding key frame has timed out, and the transmission of the non-key frame data corresponding to the key frame is not beneficial to real-time playback, and thus will start from the P frame to the first All P frames between the existing I-frames (keyframes) (excluding the keyframes) are removed from the send window and placed in the resume queue;
  • step 34 the resume queue is organized based on the unique identifier of the video sequence.
  • Step 4 The real-time video uploading module sequentially sends the video data frame located in the sending window to the media server.
  • the step 5 is further
  • Step 51 The resume module first sends the unique identifier of the video sequence to the server.
  • Step 52 After obtaining the server confirmation, start uploading the video data frame.
  • Step 53 Each time a video data frame is successfully uploaded, the video data frame is deleted from the resume queue (can be logically deleted);
  • Step 54 After all the video data frames are successfully uploaded, release the corresponding retransmission queue corresponding to the video sequence identifier.
  • the workflow on the media server side includes:
  • Step 6 After receiving the real-time video frame, the real-time video receiving module performs live broadcast by the live video module, and is stored by the storage module.
  • the video module is stored by the storage module, the association between the storage space and the unique identifier of the video sequence needs to be established. .
  • Step 7 After receiving the resumed video frame, the resume receiving module merges with the stored streaming media file to generate a smoother video file.
  • the step 7 is further
  • Step 71 Receive a unique identifier of a video sequence sent by a resume module of the video acquiring end.
  • Step 72 Send an acknowledgement message to the resume module of the video acquisition end.
  • Step 73 Determine, by using a unique identifier of the video sequence, a video file corresponding to the video sequence.
  • Step 74 Combine and store the received resumed video frame with the video file according to the timestamp information.
  • the present invention puts the selective drop frame of the application layer into the continuous transmission queue to ensure real-time transmission of the live broadcast and saves the transmission bandwidth.
  • the new connection is timely retransmitted.
  • the video frames in the queue are renewed to ensure the integrity of the stored video and improve the quality of the on-demand video.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种实时流媒体上传中的丢帧控制与续传系统,包括视频获取端和媒体服务器端;其特征在于:所述视频获取端用于实时获取视频场景数据,并以实时和续传两种方式向媒体服务器端上传视频数据帧,所述媒体服务器端用于接收视频获取端实时和续传的视频数据帧,并进行直播、存储和合并;本发明还公开了一种实时流媒体上传中的丢帧控制与续传方法。本发明一方面通过应用层选择性丢帧,将丢弃的数据帧放入续传队列,保证直播的实时性传输,节约传输带宽;另一方面,在随后网络状况稍好时通过新连接适时重传续传队列中的数据帧,从而保证所存储的视频的完整性,提高点播视频的质量。

Description

一种实时流媒体上传中的丢帧控制与续传方法及系统 技术领域
本发明涉及一种实时流媒体上传中的丢帧控制与续传方法及系统, 属于网络多媒体 数据传输技术领域。 背景技术
当今, 人们对于获得实时事件现场视频信息的需求越来越强烈。 利用专业的新闻拍 摄设备或手机、 摄像头等便携拍摄设备可以实时捕获实时事件的现场信息, 并将其快速 传播给大众。 如图 1所示, 这类系统通常都包含视频拍摄端和媒体服务器端两部分, 由 视频拍摄端将实时拍摄的内容及时上传到媒体服务器, 通过媒体服务器向感兴趣的用户 群体进行直播。 同时, 媒体服务器还必须将实时拍摄的视频进行存储, 一方面作为备份, 另一方面满足后续用户的点播需求。
然而, 由于上传带宽受限(如通过 3G网络进行上传)或上传过程中传输网络的拥堵 问题, 为保证直播的实时性, 应允许视频拍摄端向媒体服务器实时上传视频流的过程中 选择性地丢弃一些已于播放无益的视频帧 (如超过预期播放时间点的视频帧) 。 通常, 实时流媒体传输协议就是通过允许丢帧而达到实时播放的目的。 但是另一方面, 丢帧会 降低直播画面的质量。 如果不恢复这些丢弃的帧, 那么媒体服务器所备份的视频也将是 不完整的视频, 后续用户的点播所观看到的内容将和直播用户的体验是一样的。 相反, 如果能恢复这些丢弃的帧, 则能提升视频的画面质量, 从而为后续的点播用户提供高质 量的体验。
上述两个需求存在矛盾之处。 一方面, 实时的直播需求要求采用实时流媒体传输协 议, 这类协议一般直接基于 UDP之上; 另一方面, 对存储完整性的要求则要求采用可靠 的传输协议, 如 TCP, 但 TCP显然会降低视频传输的实时性。
发明内容
本发明所要解决的技术问题是基于背景技术的缺陷而提出的一种实时流媒体上传中 的丢帧控制和续传方法与系统, 一方面通过应用层选择性丢帧, 并将丢弃的数据帧暂存 在客户端续传队列, 保证直播的实时性传输, 另一方面通过将暂存在续传队列的视频帧 通过新连接适时重传保证所存储的视频的完整性。
本发明为解决上述技术问题采用以下技术方案:
一种实时流媒体上传中的丢帧控制与续传系统, 包括视频获取端和媒体服务器端; 所述视频获取端用于实时获取视频场景数据, 并以实时和续传两种方式向媒体服务器端 上传视频数据帧, 所述媒体服务器端用于接收视频获取端实时和续传的视频数据帧, 并 进行直播、 存储和合并; 其中,
(1)所述视频获取端包括:
a, 视频拍摄模块, 用于实时获取视频场景数据, 并标记预播放时刻;
b, 第一视频序列标识协商模块, 用于和媒体服务器端协商生成每个视频帧序列的唯 一标识;
c, 发送队列, 用于存储预备发送的视频帧序列;
d, 发送队列检测模块, 用于检测发送队列中的视频数据帧是否位于发送窗口之内; e, 实时视频上传模块,用于按序向媒体服务器端发送位于发送窗口内的视频数据帧; f, 续传队列, 用于存储因实时传输延迟导致的位于发送窗口外的视频数据帧; g, 续传模块, 用于在后续网络信道通畅时刻向媒体服务器端上传续传队列中的视频 数据帧;
(2)所述媒体服务器端包括:
h, 第二视频序列标识协商模块, 用于和视频获取端协商生成每个视频帧序列的唯一 标识;
i, 实时视频接收模块, 用于接收实时视频上传模块发送的实时视频数据帧; j, 实时视频直播模块, 用于将实时接收到的视频数据帧向需要的用户群进行直播; k, 存储模块, 用于将实时接收到的视频数据帧进行存储, 按照与该视频数据帧相对 应的唯一标识生成视频序列文件;
1, 续传接收模块, 用于接收续传模块续传的视频数据帧;
m, 视频合并模块, 用于根据视频帧序列的唯一标识, 将接收到的续传视频数据帧和 对应标识的视频序列文件进行合并, 生成完整的视频序列文件。
本发明还提出一种实时流媒体上传中的丢帧控制与续传方法, 该方法基于视频获取 端和媒体服务器端; 所述视频获取端用于实时获取视频场景数据, 并以实时和续传两种 方式向媒体服务器端上传视频数据帧, 所述媒体服务器端用于接收视频获取端实时和续 传的视频数据帧, 并进行直播、 存储和合并; 其中:
视频获取端的工作流程包括:
步骤 1, 与媒体服务器端协商一个用于唯一标识每个视频帧序列的标识; 步骤 2, 实时获得视频场景数据,并标记预播放时刻, 同时将视频数据帧置入发送队 列;
步骤 3,在新视频帧序列到达时检测发送队列中的视频数据帧,将位于发送窗口外的 过时视频数据帧置入续传队列;
步骤 4, 按序向媒体服务器端发送位于发送窗口内的视频数据帧;
步骤 5,在后续网络信道通畅时刻通过新连接向媒体服务器端上传位于续传队列中的 视频数据帧;
媒体服务器端的工作流程包括:
步骤 6, 接收视频获取端发送的实时视频数据帧, 然后将其进行直播; 同时将接收的 视频数据帧按照与该视频数据帧相对应的唯一标识生成视频序列文件进行存储;
步骤 7,接收视频获取端续传的视频数据帧,将接收到的续传视频数据帧和对应标识 的视频序列文件进行合并, 生成完整的视频序列文件。
进一步的, 本发明的一种实时流媒体上传中的丢帧控制与续传方法, 所述步骤 3具 体包括以下步骤:
步骤 31, 对于新到达的视频帧序列, 设其预计播放时刻为 T, 设发送窗口的大小为 W, 计算播放时间阀值 TQ=T-W;
步骤 32, 检测发送队列中的视频数据帧预计播放时间, 如果其预计播放时间 TP<TQ, 则将该视频数据帧置入续传队列;
步骤 33, 对于位于发送窗口内的视频数据帧, 如果按序待发送的下一个视频数据帧 为非关键帧, 则判断与该非关键帧相对应的关键帧是否发送成功: 若发送成功, 则正常 发送该非关键帧; 若发送失败或超时, 则将从该非关键帧开始到下一个出现的关键帧之 间的所有非关键帧从发送窗口中移除, 置入续传队列;
步骤 34, 在续传队列中基于视频帧序列的唯一标识将等待续传的视频数据帧予以组 织。
进一步的, 本发明的一种实时流媒体上传中的丢帧控制与续传方法, 所述步骤 5具 体包括以下步骤:
步骤 51, 视频获取端首先将待续传的视频数据帧所属的视频帧序列唯一标识发送给 媒体服务器端;
步骤 52, 得到媒体服务器端确认后, 视频获取端开始上传视频数据帧; 步骤 53, 每成功上传一个视频数据帧, 视频获取端将该视频数据帧从续传队列中删 除;
步骤 54, 当所有视频数据帧均成功上传后,将该视频序列标识对应的续传队列释放。 进一步的, 本发明的一种实时流媒体上传中的丢帧控制与续传方法, 所述步骤 7具 体包括以下步骤:
步骤 71, 接收视频获取端发送的待续传视频数据帧所属视频帧序列的唯一标识; 步骤 72, 向视频获取端发送确认消息;
步骤 73, 通过视频帧序列唯一标识确定该视频数据帧对应的视频序列文件; 步骤 74, 依据时间戳信息, 将接收到的续传视频数据帧与对应的视频序列文件进行 合并、 存储。
本发明采用以上技术方案与现有技术相比, 具有以下技术效果:
首先, 通过应用层的选择性丢帧, 即设立发送窗口保证位于发送窗口之外的视频帧 不再被实时视频上传模块上传, 保证直播的实时性传输, 节约传输带宽。
其次, 并不将丢弃的视频帧永久地丢弃, 而是放到续传队列, 在随后网络状况稍好 时通过新连接适时重传, 从而保证所存储的视频的完整性, 提高点播视频的质量。
最后, 选择性丢帧时, 如果关键帧因超过播放时间而被置于续传队列, 则与其关联 的非关键帧不管是否位于发送窗口内都将被移至续传队列, 保证实时传输的视频帧的有 用性。
附图说明
图 1是实时流媒体上传的丢帧控制和续传的应用场景配置示意图;
图 2是视频获取端和视频服务器端的流程图;
图 3是基于发送窗口的视频丢帧控制方法示意图;
图 4是视频拍摄端和媒体服务器端的实时处理流程图。 具体实施方式 下面结合附图对本发明的技术方案做进一步的详细说明:
如图 1结合图 4所示, 本发明的实时流媒体上传中的丢帧控制与续传系统, 包括视 频获取端和媒体服务器端两部分。
其中, 视频获取端用于实时获取视频场景数据, 并以实时和续传两种方式向媒体服 务器上传, 包括: 视频拍摄模块, 用于实时获取视频场景数据, 标记预播放时刻;
视频序列标识协商模块, 用于和媒体服务器协商用于唯一标识该视频序列的标识; 发送队列检测模块, 用于检测发送队列中的视频帧是否位于发送窗口之内; 实时视频上传模块, 用于按序向媒体服务器发送位于发送窗口内的视频数据帧; 续传模块, 用于在后续某个时刻向媒体服务器上传续传队列中的视频帧; 发送队列, 用于存储未发送的视频帧序列;
续传队列, 用于存储因实时传输延迟导致的位于发送窗口外的视频帧, 包括与超过 播放时间点的关键帧相关联的非关键帧 (无论其位于发送窗口与否) 。
媒体服务器端用于接收实时和续传的视频帧, 并进行直播、 存储和合并, 包括: 视频序列标识协商模块, 用于和视频获取端协商用于唯一标识该视频序列的标识; 实时视频接收模块, 用于接收实时视频数据帧;
实时视频直播模块, 用于将实时接收到的视频数据向需要的用户群进行直播; 存储模块, 用于将实时接收到的视频数据进行存储;
续传接收模块, 用于接收续传的视频数据帧;
视频合并模块, 用于将接收到的续传视频数据帧和对应的视频序列文件进行合并, 生成更流畅的视频序列文件。
如图 2所示, 本发明的实时流媒体上传中的丢帧控制与续传方法包括视频获取端的 工作流程、 媒体服务器端的工作流程。
其中, 视频获取端的工作流程包括:
步骤 1, 与服务器协商一个用于唯一标识该视频序列的标识。
步骤 2, 视频拍摄模块实时获得视频场景数据,标记预播放时刻,并将视频帧置入发 送队列。
步骤 3,发送队列检测模块在新视频帧到达时检测发送队列中的视频帧,将位于发送 窗口外的过时视频帧置入续传队列。
如图 3所示, 所述步骤 3进一步细化为,
步骤 31, 对于新到达的视频帧, 设其预计播放时刻为 T, 设发送窗口的大小为 W, 计 算播放时间阀值 T。=T-W;
步骤 32, 检测发送队列中的视频帧预计播放时间, 如果其预计播放时间 TP〈T。,则将 该视频帧置入续传队列; 步骤 33, 对于位于发送窗口内的帧, 如果按序待发送的下一个帧为 P帧 (即非关键 帧) , 则判断与该非关键帧相对应的关键帧是否发送成功: 若发送成功, 则正常发送该 非关键帧; 若发送失败, 则表明对应的关键帧已超时,与该关键帧相对应的非关键帧数据 的传输对实时播放无益, 因而则将从该 P帧开始到第一个出现的 I帧(关键帧)之间(不 包含该关键帧) 的所有 P帧从发送窗口中移除, 置入续传队列;
步骤 34, 续传队列基于视频序列的唯一标识予以组织。
步骤 4, 实时视频上传模块按序向媒体服务器发送位于发送窗口内的视频数据帧。 步骤 5,续传模块在后续某个时刻通过新连接向媒体服务器上传位于续传队列中的视 频帧。 该时刻可以是网络信道状况改善后, 通信链路良好的时刻。
所述步骤 5进一步为,
步骤 51, 续传模块首先将视频序列唯一标识发送给服务器端;
步骤 52, 得到服务器确认后开始上传视频数据帧;
步骤 53, 每成功上传一个视频数据帧, 将该视频数据帧从续传队列中删除 (可以是 逻辑上删除) ;
步骤 54, 当所有视频数据帧均成功上传后,将该视频序列标识对应的续传队列释放。 如图 2所示, 媒体服务器端的工作流程包括:
步骤 6, 实时视频接收模块接收到实时视频帧后, 由视频直播模块进行直播, 由存储 模块进行存储; 由存储模块进行视频序列存储时, 需建立存储空间与该视频序列唯一标 识之间的关联。
步骤 7, 续传接收模块接收到续传视频帧后, 与已存储的流媒体文件进行合并, 生成 质量更流畅的视频文件。
所述步骤 7进一步为,
步骤 71, 接收视频获取端的续传模块发送的视频序列唯一标识;
步骤 72, 向视频获取端的续传模块发送确认消息;
步骤 73, 通过视频序列唯一标识确定该视频序列对应的视频文件;
步骤 74, 依据时间戳信息, 将接收到的续传视频帧与该视频文件进行合并、 存储。 综合以上描述, 本发明一方面通过应用层的选择性丢帧放入续传队列, 保证直播的 实时性传输, 节约传输带宽; 另一方面, 在随后网络状况稍好时通过新连接适时重传续 传队列中的视频帧, 从而保证所存储的视频的完整性, 提高点播视频的质量。

Claims

权利要求书
1. 一种实时流媒体上传中的丢帧控制与续传系统, 包括视频获取端和媒体服务器 端; 其特征在于: 所述视频获取端用于实时获取视频场景数据, 并以实时和续传两种方 式向媒体服务器端上传视频数据帧, 所述媒体服务器端用于接收视频获取端实时和续传 的视频数据帧, 并进行直播、 存储和合并; 其中,
(1)所述视频获取端包括:
a, 视频拍摄模块, 用于实时获取视频场景数据, 并标记预播放时刻;
b, 第一视频序列标识协商模块, 用于和媒体服务器端协商生成每个视频帧序列的唯 一标识;
c, 发送队列, 用于存储预备发送的视频帧序列;
d, 发送队列检测模块, 用于检测发送队列中的视频数据帧是否位于发送窗口之内; e, 实时视频上传模块, 用于按序向媒体服务器端发送位于发送窗口内的视频数据 帧;
f, 续传队列, 用于存储因实时传输延迟导致的位于发送窗口外的视频数据帧; g, 续传模块, 用于在后续网络信道通畅时刻向媒体服务器端上传续传队列中的视频 数据帧;
(2)所述媒体服务器端包括:
h, 第二视频序列标识协商模块, 用于和视频获取端协商生成每个视频帧序列的唯一 标识;
i, 实时视频接收模块, 用于接收实时视频上传模块发送的实时视频数据帧; j, 实时视频直播模块, 用于将实时接收到的视频数据帧向需要的用户群进行直播; k, 存储模块, 用于将实时接收到的视频数据帧进行存储, 按照与该视频数据帧相对 应的唯一标识生成视频序列文件;
1, 续传接收模块, 用于接收续传模块续传的视频数据帧;
m, 视频合并模块, 用于根据视频帧序列的唯一标识, 将接收到的续传视频数据帧和 对应标识的视频序列文件进行合并, 生成完整的视频序列文件。
2. 一种实时流媒体上传中的丢帧控制与续传方法, 其特征在于: 该方法基于视频获 取端和媒体服务器端; 所述视频获取端用于实时获取视频场景数据, 并以实时和续传两 种方式向媒体服务器端上传视频数据帧, 所述媒体服务器端用于接收视频获取端实时和 续传的视频数据帧, 并进行直播、 存储和合并; 其中: 视频获取端的工作流程包括:
步骤 1, 与媒体服务器端协商一个用于唯一标识每个视频帧序列的标识;
步骤 2, 实时获得视频场景数据, 并标记预播放时刻, 同时将视频数据帧置入发送队 列;
步骤 3, 在新视频帧序列到达时检测发送队列中的视频数据帧, 将位于发送窗口外的 过时视频数据帧置入续传队列;
步骤 4, 按序向媒体服务器端发送位于发送窗口内的视频数据帧;
步骤 5, 在后续网络信道通畅时刻通过新连接向媒体服务器端上传位于续传队列中的 视频数据帧;
媒体服务器端的工作流程包括:
步骤 6, 接收视频获取端发送的实时视频数据帧, 然后将其进行直播; 同时将接收的 视频数据帧按照与该视频数据帧相对应的唯一标识生成视频序列文件进行存储;
步骤 7, 接收视频获取端续传的视频数据帧, 将接收到的续传视频数据帧和对应标识 的视频序列文件进行合并, 生成完整的视频序列文件。
3. 根据权利要求 2 所述的一种实时流媒体上传中的丢帧控制与续传方法, 其特征在 于: 所述步骤 3具体包括以下步骤:
步骤 31, 对于新到达的视频帧序列, 设其预计播放时刻为 T, 设发送窗口的大小为 W, 计算播放时间阀值 TQ=T-W;
步骤 32, 检测发送队列中的视频数据帧预计播放时间, 如果其预计播放时间 Tp<To, 则将该视频数据帧置入续传队列;
步骤 33, 对于位于发送窗口内的视频数据帧, 如果按序待发送的下一个视频数据帧 为非关键帧, 则判断与该非关键帧相对应的关键帧是否发送成功: 若发送成功, 则正常 发送该非关键帧; 若发送失败或超时, 则将从该非关键帧开始到下一个出现的关键帧之 间的所有非关键帧从发送窗口中移除, 置入续传队列;
步骤 34, 在续传队列中基于视频帧序列的唯一标识将等待续传的视频数据帧予以组 织。
4. 根据权利要求 2 所述的一种实时流媒体上传中的丢帧控制与续传方法, 其特征在 于: 所述步骤 5具体包括以下步骤:
步骤 51, 视频获取端首先将待续传的视频数据帧所属的视频帧序列唯一标识发送给 媒体服务器端; 步骤 52, 得到媒体服务器端确认后, 视频获取端开始上传视频数据帧; 步骤 53, 每成功上传一个视频数据帧, 视频获取端将该视频数据帧从续传队列中删 除;
步骤 54, 当所有视频数据帧均成功上传后, 将该视频序列标识对应的续传队列释 放。
5. 根据权利要求 2 所述的一种实时流媒体上传中的丢帧控制与续传方法, 其特征在 于: 所述步骤 7具体包括以下步骤:
步骤 71, 接收视频获取端发送的待续传视频数据帧所属视频帧序列的唯一标识; 步骤 72, 向视频获取端发送确认消息;
步骤 73, 通过视频帧序列唯一标识确定该视频数据帧对应的视频序列文件; 步骤 74, 依据时间戳信息, 将接收到的续传视频数据帧与对应的视频序列文件进行 合并、 存储。
PCT/CN2013/078979 2012-11-15 2013-07-08 一种实时流媒体上传中的丢帧控制与续传方法及系统 WO2014075453A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210458099.0 2012-11-15
CN201210458099.0A CN102932667B (zh) 2012-11-15 2012-11-15 一种实时流媒体上传中的丢帧控制与续传方法及系统

Publications (1)

Publication Number Publication Date
WO2014075453A1 true WO2014075453A1 (zh) 2014-05-22

Family

ID=47647351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/078979 WO2014075453A1 (zh) 2012-11-15 2013-07-08 一种实时流媒体上传中的丢帧控制与续传方法及系统

Country Status (2)

Country Link
CN (1) CN102932667B (zh)
WO (1) WO2014075453A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954007A (zh) * 2020-07-14 2020-11-17 烽火通信科技股份有限公司 Udp直播中vbr视频快速平滑发送方法与装置
CN112203050A (zh) * 2020-09-30 2021-01-08 普联技术有限公司 一种视频续传的方法及装置
CN113014586A (zh) * 2021-03-04 2021-06-22 即时匹配(上海)网络科技有限公司 Rtp数据包乱序处理及重组帧方法和系统
CN115021865A (zh) * 2022-05-09 2022-09-06 深圳市正浩创新科技股份有限公司 数据读取方法、数据推送方法、电子设备及可读存储介质
CN118158471A (zh) * 2024-03-20 2024-06-07 广东九安智能科技股份有限公司 一种用于实时视频监控的无线局域网传输方法及系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932667B (zh) * 2012-11-15 2015-06-03 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统
CN103533450B (zh) * 2013-06-09 2018-03-09 浙江宇视科技有限公司 一种媒体流可靠传输和接收的方法以及装置
CN106375859B (zh) * 2016-09-26 2019-01-15 腾讯科技(深圳)有限公司 一种媒体处理方法、装置及终端
CN110113621B (zh) * 2018-02-01 2023-03-03 腾讯科技(深圳)有限公司 媒体信息的播放方法和装置、存储介质、电子装置
CN108540855B (zh) * 2018-04-18 2021-09-28 王健 一种适用于网络直播场景下的自适应低延时流媒体播放方法
CN108881185B (zh) * 2018-05-31 2022-10-25 康键信息技术(深圳)有限公司 数据发送装置及方法、数据接收装置及方法和存储介质
CN114095796A (zh) * 2020-07-30 2022-02-25 中国移动通信集团终端有限公司 无效重传包减少方法、装置、设备及计算机存储介质
CN113300819B (zh) * 2021-04-13 2022-09-06 中国科学技术大学 一种鲁棒的逐跳可靠数据传输方法、装置及系统
CN113132669B (zh) * 2021-04-22 2022-08-12 睿云联(厦门)网络通讯技术有限公司 基于WebRTC弱网环境视频质量提升方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946079A (zh) * 2006-11-02 2007-04-11 北京大学 一种网络带宽自适应的流媒体传输选择性丢帧方法
CN101552660A (zh) * 2008-04-01 2009-10-07 中国移动通信集团公司 对流媒体数据进行重传、播放的方法、装置及通信系统
CN102547227A (zh) * 2010-12-08 2012-07-04 中国电信股份有限公司 视频监控文件的传输处理方法与系统
CN102932667A (zh) * 2012-11-15 2013-02-13 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3825099B2 (ja) * 1996-09-26 2006-09-20 富士通株式会社 映像データ転送方式およびビデオサーバ装置
CN102170554B (zh) * 2010-02-25 2016-04-27 无锡中感微电子股份有限公司 基于电力网的网络摄像装置及网络摄像方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946079A (zh) * 2006-11-02 2007-04-11 北京大学 一种网络带宽自适应的流媒体传输选择性丢帧方法
CN101552660A (zh) * 2008-04-01 2009-10-07 中国移动通信集团公司 对流媒体数据进行重传、播放的方法、装置及通信系统
CN102547227A (zh) * 2010-12-08 2012-07-04 中国电信股份有限公司 视频监控文件的传输处理方法与系统
CN102932667A (zh) * 2012-11-15 2013-02-13 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954007A (zh) * 2020-07-14 2020-11-17 烽火通信科技股份有限公司 Udp直播中vbr视频快速平滑发送方法与装置
CN111954007B (zh) * 2020-07-14 2022-03-25 烽火通信科技股份有限公司 Udp直播中vbr视频快速平滑发送方法与装置
CN112203050A (zh) * 2020-09-30 2021-01-08 普联技术有限公司 一种视频续传的方法及装置
CN113014586A (zh) * 2021-03-04 2021-06-22 即时匹配(上海)网络科技有限公司 Rtp数据包乱序处理及重组帧方法和系统
CN113014586B (zh) * 2021-03-04 2022-09-13 即时匹配(上海)网络科技有限公司 Rtp数据包乱序处理及重组帧方法和系统
CN115021865A (zh) * 2022-05-09 2022-09-06 深圳市正浩创新科技股份有限公司 数据读取方法、数据推送方法、电子设备及可读存储介质
CN118158471A (zh) * 2024-03-20 2024-06-07 广东九安智能科技股份有限公司 一种用于实时视频监控的无线局域网传输方法及系统

Also Published As

Publication number Publication date
CN102932667B (zh) 2015-06-03
CN102932667A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
WO2014075453A1 (zh) 一种实时流媒体上传中的丢帧控制与续传方法及系统
EP2890133B1 (en) System and method for distributing live broadcast content
CN103237191B (zh) 在视频会议中同步推送音视频的方法
KR101477202B1 (ko) 모바일 텔레비전 시스템을 위한 액세스 네트워크 핸드오버
KR101547315B1 (ko) 모바일 텔레비전 시스템을 위한 액세스 네트워크 핸드오버
CN104954633A (zh) 一种直播导播的方法、客户端及系统
CN108696772B (zh) 一种实时视频的传输方法及装置
CN105704580B (zh) 一种视频传输方法
WO2010139284A1 (zh) 一种频道切换处理方法及系统以及相关设备
WO2017045528A1 (zh) 组播传输方法、装置及系统
US7663665B2 (en) Communication device and method for transferring video-stream data to a display device and a storage device
CN107819809B (zh) 对内容进行同步操作的方法及装置
CN107566918A (zh) 一种视频分发场景下的低延时取流秒开方法
TWI760328B (zh) 動畫分割裝置及監視方法
JP2007150916A (ja) コミュニケーションシステム、端末装置及びコンピュータプログラム
US20160057390A1 (en) Obtaining replay of audio during a conference session
WO2010096965A1 (zh) 一种频道切换的异常处理方法、终端设备及频道切换服务器
WO2011113315A1 (zh) 一种流媒体直播业务系统及实现方法
WO2011022994A1 (zh) 组播实时传输协议会话快速接入的方法、装置及系统
US8379083B1 (en) Simultaneous viewing and reliable recording of multimedia content over a network
CN102325275A (zh) 一种流媒体播放的丢包方法、装置及服务器
WO2011063737A1 (zh) 一种实时流文件播放方法及其装置
WO2011009403A1 (zh) 一种实现流业务的方法及通信系统以及相关设备
JP2004135239A (ja) データ配信装置、受信装置、データ配信方法、データ配信プログラム、および該プログラムを記録した記録媒体
WO2015024374A1 (zh) 一种组播时延测量方法、设备及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13855786

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 28/0/2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13855786

Country of ref document: EP

Kind code of ref document: A1