CN103096131B - 一种直播流处理方法和装置 - Google Patents
一种直播流处理方法和装置 Download PDFInfo
- Publication number
- CN103096131B CN103096131B CN201310048272.4A CN201310048272A CN103096131B CN 103096131 B CN103096131 B CN 103096131B CN 201310048272 A CN201310048272 A CN 201310048272A CN 103096131 B CN103096131 B CN 103096131B
- Authority
- CN
- China
- Prior art keywords
- video
- live stream
- buffer memory
- video file
- file
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种直播流处理方法和装置,其中,方法包括以下步骤:播放直播流视频;缓存预设时长的播放的直播流视频;当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。本方法实施例中将播放过的直播流视频通过缓存从而可以获得时长固定的视频,因此可以在视频文件中进行视频帧定位,从而可以实现直播流中的视频帧定位。
Description
技术领域
本发明涉及视频处理领域,更具体地,涉及一种直播流处理方法和装置。
背景技术
随着人们对电视直播流播放的要求越来越高,需要把有线电视频道播放的连续视频实时地切分为一个个逻辑上独立的视频节目,然后将这些视频节目实时地推送到网络给用户观看。
目前,一种播放直播流的方案是直接播放从视频服务器获取的直播流。由于是直接播放直播流,而直播流的总时长在不断的增加,因此无法实现视频帧的定位,使得无法将直播流中的视频进行切分。
发明内容
有鉴于此,本发明实施例的目的是提出一种直播流处理方法和装置,使用这种直播流处理方法能够实现直播流中视频帧的定位。
为了达到上述目的,本发明提出一种直播流处理方法,包括以下步骤:
播放直播流视频;
缓存预设时长的播放的直播流视频;
当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。
本方法实施例中将播放过的直播流视频通过缓存从而获得时长固定的视频,因此可以在视频文件中进行视频帧定位,从而可以实现直播流中的视频帧定位。
作为上述技术方案的优选,缓存预设时长的播放的直播流视频的步骤包括:将预设时长的直播流视频的视频帧数据和音频帧数据分别缓存。这样可以便于对视频帧数据和音频帧数据进行不同的处理,也便于仅提取视频帧数据或音频帧数据。
作为上述技术方案的优选,将所述视频帧数据和音频帧数据分别以队列形式缓存,便于更新。
作为上述技术方案的优选,将缓存的预设时长的直播流视频存储为视频文件的步骤包括:获取缓存的视频帧数据和音频帧数据;将获取的视频帧数据和音频帧数据分别进行编码;将编码后的视频帧数据和音频帧数据封装成一个视频文件。这样就可以从直播流视频中获得时长固定的视频,以便进行视频帧定位,以及视频编辑。
作为上述技术方案的优选,所述方法还包括:播放所述视频文件;当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置,从而实现视频帧的定位。
作为上述技术方案的优选,当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置的步骤包括:接收暂停播放视频文件的指令;输出暂停时的视频帧在所述视频文件中的位置。本方案根据用户的指令输出视频帧的位置,从而实现视频帧的定位。
本发明实施例还提出一种直播流处理装置,包括:
第一播放模块,用于播放直播流视频;
缓存模块,用于缓存预设时长的播放的直播流视频;
生成视频文件模块,用于当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。
作为上述技术方案的优选,所述缓存模块用于将预设时长的直播流视频的视频帧数据和音频帧数据分别缓存。
作为上述技术方案的优选,所述缓存模块用于将所述视频帧数据和音频帧数据分别以队列形式缓存。
作为上述技术方案的优选,所述生成视频文件模块包括:
获取单元,用于获取缓存的视频帧数据和音频帧数据;
编码单元,用于将获取的视频帧数据和音频帧数据分别进行编码;
封装单元,用于将编码后的视频帧数据和音频帧数据封装成一个视频文件。
作为上述技术方案的优选,所述装置还包括:
第二播放模块,用于播放所述视频文件;
输出模块,用于当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置。
作为上述技术方案的优选,所述输出模块包括:
接收单元,用于接收暂停播放视频文件的指令;
输出单元,用于输出暂停时的视频帧在所述视频文件中的位置。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,并不构成对本发明实施例的限制。在附图中:
图1是本发明实施例中直播流处理方法的流程图;
图2是本发明实施例中将视频帧数据和音频帧数据分别缓存实现的直播流处理的方法流程图;
图3是本发明实施例中实现视频帧定位的直播流处理方法的流程图;
图4是本发明实施例提出的直播流处理装置的结构示意图。
具体实施方式
以下结合附图对优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明实施例,并不用于限定本发明实施例。
如图1所示为本发明实施例提出的直播流处理方法的主要流程,包括以下步骤:
步骤S101:播放直播流视频。
其中,直播流视频可以通过以下方式获得:通过存储有符合HTTPLiveStreaming规范的m3u8播放列表文件和所述m3u8播放列表文件对应的TS文件的视频服务器获得m3u8播放列表文件以及对应的TS碎片文件的URL(UniformResourceLocator,统一资源定位符),下载TS碎片文件,下载后的TS碎片文件被直接拼接成TS视频流。
步骤S102:缓存预设时长的播放的直播流视频。
在该步骤中,可以将最近播放过的预设时长的一段视频进行缓存,例如5分钟。
步骤S103:当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。
本方法实施例中将播放过的直播流视频通过缓存从而获得时长固定的视频,因此可以在视频文件中进行视频帧定位,从而可以实现直播流中的视频帧定位。
下面通过两个典型实施例来详细介绍实现过程。
如图2所示为本发明实施例中通过分别缓存视频数据和音频数据获得视频文件的方法,包括以下步骤:
步骤S201:播放直播流视频。
其中,直播流视频可以通过以下方式获得:通过存储有符合HTTPLiveStreaming(超文本传输协议直播流)规范的m3u8(一种视频格式)播放列表文件和所述m3u8播放列表文件对应的TS(一种封装格式)文件的视频服务器获得m3u8播放列表文件以及对应的TS文件的URL(UniformResourceLocator,统一资源定位符),下载TS碎片文件,下载后的TS碎片文件被直接拼接成TS视频流。
步骤S202:将预设时长的播放的直播流视频的视频帧数据和音频帧数据分别缓存。
将视频帧数据和音频帧数据分别缓存,可以便于对视频帧数据和音频帧数据进行不同的处理,也便于仅提取视频帧数据或音频帧数据。
优选地,可以将视频帧数据和音频帧数据分别以队列形式缓存,即将最近播放过的预设时长的一段视频的视频帧数据缓存进一个队列,同时将音频帧缓存进另一个队列。由于缓存的总是当前刚播放过的固定时长的视频,所以随着播放的进行这两个队列里的数据总是先进先出不断地实时更新。
步骤S203:判断是否接收到暂停播放直播流视频的指令;若是,则执行步骤S204。
步骤S204:分别获取缓存的视频帧数据和音频帧数据。
步骤S205:将获取的视频帧数据和音频帧数据分别进行编码。
步骤S206:将编码后的视频帧数据和音频帧数据封装成一个视频文件。
这样就可以从直播流视频中获得时长固定的视频,以便进行视频帧定位,以及视频编辑。
如图3所示为本发明实施例中实现视频帧定位的直播流处理方法,包括以下步骤:
步骤S301:播放直播流视频。
步骤S302:将预设时长的播放的直播流视频的视频帧数据和音频帧数据分别缓存。
将视频帧数据和音频帧数据分别缓存,可以在后续的步骤中仅获取视频帧数据或音频帧数据。
优选地,可以将视频帧数据和音频帧数据分别以队列形式缓存,即将最近播放过的预设时长的一段视频的视频帧数据缓存进一个队列,同时将音频帧缓存进另一个队列。由于缓存的总是当前刚播放过的固定时长的视频;所以随着播放的进行这两个队列里的数据总是先进先出不断地实时更新。
步骤S303:判断是否接收到暂停播放直播流视频的指令;若是,则执行步骤S304。
步骤S304:分别获取缓存的视频帧数据和音频帧数据。
步骤S305:将获取的视频帧数据和音频帧数据分别进行编码。
步骤S306:将编码后的视频帧数据和音频帧数据封装成一个视频文件。
步骤S307:播放该视频文件。
本步骤中,可以根据用户的指令播放视频文件,也可以在该视频文件生成后自动进行播放。
步骤S308:当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置。
其中,可以根据以下方法判断视频文件中是否存在预设视频帧:将视频文件的每一帧与预设视频帧进行比对(例如计算直方图之间的差异),当相似度大于预设值时,确认视频文件中存在预设视频帧。
也可以是当接收到暂停播放视频文件的指令,确认所述视频文件中存在预设视频帧,此时,输出暂停时的视频帧在所述视频文件中的位置。
本实施例可以进一步地实现在视频文件中的视频帧的定位。
相应地,本发明实施例还提出一种直播流处理装置,如图4所示,包括:
第一播放模块401,用于播放直播流视频;
缓存模块402,用于缓存预设时长的播放的直播流视频;
生成视频文件模块403,用于当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。
优选地,所述缓存模块402用于将预设时长的直播流视频的视频帧数据和音频帧数据分别缓存。
优选地,所述缓存模块402用于将所述视频帧数据和音频帧数据分别以队列形式缓存。
优选地,所述生成视频文件模块403包括:
获取单元,用于获取缓存的视频帧数据和音频帧数据;
编码单元,用于将获取的视频帧数据和音频帧数据分别进行编码;
封装单元,用于将编码后的视频帧数据和音频帧数据封装成一个视频文件。
优选地,所述装置还包括:
第二播放模块,用于播放所述视频文件;
输出模块,用于当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置。
优选地,所述输出模块包括:
接收单元,用于接收暂停播放视频文件的指令;
输出单元,用于输出暂停时的视频帧在所述视频文件中的位置。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实现、完全软件实现、或结合软件和硬件方面的实现的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于权利要求及其等同技术的范围之内,则本发明实施例也意图包含这些改动和变型在内。
Claims (12)
1.一种直播流处理方法,其特征在于,包括以下步骤:
播放直播流视频,所述直播流视频为TS视频流;
缓存预设时长的播放的直播流视频,包括:将最近播放过的预设时长的直播流视频进行缓存;
当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。
2.根据权利要求1所述的方法,其特征在于,缓存预设时长的播放的直播流视频的步骤包括:将预设时长的直播流视频的视频帧数据和音频帧数据分别缓存。
3.根据权利要求2所述的方法,其特征在于,将所述视频帧数据和音频帧数据分别以队列形式缓存。
4.根据权利要求2或3所述的方法,其特征在于,将缓存的预设时长的直播流视频存储为视频文件的步骤包括:
获取缓存的视频帧数据和音频帧数据;
将获取的视频帧数据和音频帧数据分别进行编码;
将编码后的视频帧数据和音频帧数据封装成一个视频文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
播放所述视频文件;
当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置。
6.根据权利要求5所述的方法,其特征在于,当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置的步骤包括:
接收暂停播放视频文件的指令;
输出暂停时的视频帧在所述视频文件中的位置。
7.一种直播流处理装置,其特征在于,包括:
第一播放模块,用于播放直播流视频,所述直播流视频为TS视频流;
缓存模块,用于缓存预设时长的播放的直播流视频,用于将最近播放过的预设时长的直播流视频进行缓存;
生成视频文件模块,用于当接收到暂停播放直播流视频的指令时,将缓存的预设时长的直播流视频存储为视频文件。
8.根据权利要求7所述的装置,其特征在于,所述缓存模块用于将预设时长的直播流视频的视频帧数据和音频帧数据分别缓存。
9.根据权利要求8所述的装置,其特征在于,所述缓存模块用于将所述视频帧数据和音频帧数据分别以队列形式缓存。
10.根据权利要求8或9所述的装置,其特征在于,所述生成视频文件模块包括:
获取单元,用于获取缓存的视频帧数据和音频帧数据;
编码单元,用于将获取的视频帧数据和音频帧数据分别进行编码;
封装单元,用于将编码后的视频帧数据和音频帧数据封装成一个视频文件。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二播放模块,用于播放所述视频文件;
输出模块,用于当所述视频文件中存在预设视频帧时,输出所述预设视频帧在所述视频文件中的位置。
12.根据权利要求11所述的装置,其特征在于,所述输出模块包括:
接收单元,用于接收暂停播放视频文件的指令;
输出单元,用于输出暂停时的视频帧在所述视频文件中的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310048272.4A CN103096131B (zh) | 2013-02-06 | 2013-02-06 | 一种直播流处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310048272.4A CN103096131B (zh) | 2013-02-06 | 2013-02-06 | 一种直播流处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103096131A CN103096131A (zh) | 2013-05-08 |
CN103096131B true CN103096131B (zh) | 2016-06-08 |
Family
ID=48208181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310048272.4A Expired - Fee Related CN103096131B (zh) | 2013-02-06 | 2013-02-06 | 一种直播流处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103096131B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219581A (zh) * | 2014-09-01 | 2014-12-17 | 无锡天脉聚源传媒科技有限公司 | 一种更新播放队列的方法及装置 |
CN104935948A (zh) * | 2015-05-13 | 2015-09-23 | 深圳市中幼国际教育科技有限公司 | 视频直播图像处理方法及系统 |
CN105025345A (zh) * | 2015-07-28 | 2015-11-04 | 无锡天脉聚源传媒科技有限公司 | 一种直播节目的录制方法及装置 |
CN106899880B (zh) * | 2015-12-19 | 2020-02-18 | 联芯科技有限公司 | 将多媒体数据分段保存的方法及系统 |
CN106375873A (zh) * | 2016-08-31 | 2017-02-01 | 杭州当虹科技有限公司 | 一种hls视频文件下载存储及播放的方法 |
CN111356003B (zh) * | 2020-03-11 | 2022-03-29 | 安徽文香科技有限公司 | 一种数据写入的方法、系统及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540881A (zh) * | 2008-03-19 | 2009-09-23 | 华为技术有限公司 | 实现流媒体定位播放的方法、装置及系统 |
CN102098423A (zh) * | 2009-12-10 | 2011-06-15 | 北大方正集团有限公司 | 一种无缝文件采集方法及系统 |
CN102196312A (zh) * | 2010-03-02 | 2011-09-21 | 北大方正集团有限公司 | 音视频数据流的播放方法及装置 |
CN102752193A (zh) * | 2012-05-23 | 2012-10-24 | 杭州斯凯网络科技有限公司 | 一种直播流的快速缓冲方法 |
CN102857797A (zh) * | 2012-04-12 | 2013-01-02 | 天脉聚源(北京)传媒科技有限公司 | 一种视频播放的后台控制方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109556A1 (en) * | 2006-11-07 | 2008-05-08 | Sony Ericsson Mobile Communications Ab | Adaptive insertion of content in streaming media |
-
2013
- 2013-02-06 CN CN201310048272.4A patent/CN103096131B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540881A (zh) * | 2008-03-19 | 2009-09-23 | 华为技术有限公司 | 实现流媒体定位播放的方法、装置及系统 |
CN102098423A (zh) * | 2009-12-10 | 2011-06-15 | 北大方正集团有限公司 | 一种无缝文件采集方法及系统 |
CN102196312A (zh) * | 2010-03-02 | 2011-09-21 | 北大方正集团有限公司 | 音视频数据流的播放方法及装置 |
CN102857797A (zh) * | 2012-04-12 | 2013-01-02 | 天脉聚源(北京)传媒科技有限公司 | 一种视频播放的后台控制方法及系统 |
CN102752193A (zh) * | 2012-05-23 | 2012-10-24 | 杭州斯凯网络科技有限公司 | 一种直播流的快速缓冲方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103096131A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103096131B (zh) | 一种直播流处理方法和装置 | |
CN104159127B (zh) | 一种视频转码方法、装置及系统 | |
CN106028092B (zh) | 一种电视截屏的分享方法及装置 | |
CN104244023B (zh) | 视频云编辑系统和方法 | |
CN104363463B (zh) | 一种视频处理方法、装置及系统 | |
CN103491427A (zh) | 一种视频的处理方法和装置 | |
WO2013032787A1 (en) | Media source identification | |
CN109587514B (zh) | 一种视频播放方法、介质和相关装置 | |
CN107517411B (zh) | 一种基于GStreamer框架的视频播放方法 | |
CN104185037A (zh) | 一种传输、播放视频的方法、装置和系统 | |
CN105898538A (zh) | 用于安卓平台的播放方法、装置及移动终端设备 | |
CN104918108A (zh) | 一种基于hls协议的视频精确定位装置及方法 | |
CN106791919A (zh) | 多媒体信息处理方法、装置和电子设备 | |
CN205356609U (zh) | 一种集成音箱的机顶盒装置 | |
CN104902145A (zh) | 一种直播流视频的播放方法及装置 | |
CN104506920A (zh) | 一种播放全媒体数据信息的方法及装置 | |
CN108924577A (zh) | 基于直播的节目制作播出系统及方法 | |
CN104753811B (zh) | 一种流媒体业务优化方法、设备及系统 | |
CN106155677A (zh) | 一种界面显示的方法和系统 | |
CN106375319A (zh) | 一种音视频转码调度的方法、装置、设备及系统 | |
CN111385660A (zh) | 视频的点播方法、装置、设备及存储介质 | |
CN104935975A (zh) | 一种垫片播放方法及装置 | |
CN105392028B (zh) | 一种数据的传输方法及装置 | |
CN108833983A (zh) | 播放数据获取方法、装置、设备以及存储介质 | |
CN104822087A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A live stream processing method and device Effective date of registration: 20210104 Granted publication date: 20160608 Pledgee: Inner Mongolia Huipu Energy Co.,Ltd. Pledgor: TVMINING (BEIJING) MEDIA TECHNOLOGY Co.,Ltd. Registration number: Y2020990001527 |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160608 Termination date: 20210206 |