CN109361885A - 一种将多流视频保存为单视频文件的方法 - Google Patents
一种将多流视频保存为单视频文件的方法 Download PDFInfo
- Publication number
- CN109361885A CN109361885A CN201811090603.XA CN201811090603A CN109361885A CN 109361885 A CN109361885 A CN 109361885A CN 201811090603 A CN201811090603 A CN 201811090603A CN 109361885 A CN109361885 A CN 109361885A
- Authority
- CN
- China
- Prior art keywords
- type
- data
- stream
- media
- media stream
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- 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
-
- 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/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及一种将多流视频保存为单视频文件的方法,解决的是相互不关联、不适合回看的技术问题,通过采用包括:步骤1,根据每路媒体流的编码数据格式为每路媒体流对应的数据链路定义流编号ID,各路媒体流的流编号ID不重复;步骤2,根据媒体流的类型定义媒体流编码后的数据格式;步骤3,根据流编号ID分别写入每路音频编码后的数据或视频的编码后的数据到数据存储中,保存为单视频文件的技术方案,较好的解决了该问题,可用于视频保存中。
Description
技术领域
本发明涉及视频处理技术领域,具体涉及一种将多流视频保存为单视频文件的方法。
背景技术
音视频录制场景非常多,在录制多个场景时可以在录制时通过场景切换录制成一路视频文件,由于多场景合成一路视频布局已经固定,对回放观看无法调整,而且对后期非线性编辑很难操作。另一种可以对每个场景分别录制生成多个视频文件导致分类复杂,回放观看不方便。
目前的单流单视频缺点在于对于后期非线性编辑实现非常复杂,而且单流单视频在录制多场景时是依靠场景切换,导致其他场景不会出现在文件中丢失场景。单流多文件可以录制多场景但对视频分类管理麻烦而且多个文件都独立没有关联导致不利于回放观看。
因此,提供一种解决上述问题的将多流视频保存为单视频文件的方法就很有必要。
发明内容
本发明所要解决的技术问题是现有技术中存在的相互不关联、不适合回看的技术问题。提供一种新的将多流视频保存为单视频文件的方法,该将多流视频保存为单视频文件的方法具有实现单文件多流的基础上、利于回看的特点。
为解决上述技术问题,采用的技术方案如下:
一种将多流视频保存为单视频文件的方法,所述方法包括:
步骤1,根据每路媒体流的编码数据格式为每路媒体流对应的数据链路定义流编号ID,各路媒体流的流编号ID不重复;
步骤2,根据媒体流的类型定义媒体流编码后的数据格式;
步骤3,根据流编号ID分别写入每路音频编码后的数据或视频的编码后的数据到数据存储中,保存为单视频文件。
本发明的工作原理:媒体流之间的依赖关系存储在文件头部分,由标头对象HeaderObjec,数据对象DataObject,索引对象IndexObject三个部分组成。HeaderObject:在文件开始写入一个全局的GUID,包含所有在DataObject中需要说明的信息。DataObject:由多个按照发送时间顺序排列的数据包构成,并且可以来自多个不同的流:其中包含64位的数据包总长字段,用于说明当前文件包含的数据包数目,通常是等长的,一个数据包中可以包含一个或多个有效负载/载荷Payload。Index Objects:包含视频流的基于时间的索引序列,其中索引之间的间隔是固定的,把编码后的音视频数据通常按照这三个部分保存为文件。由于存储是每一个完整的媒体流,使得可以按每路流的编码数据格式为每个数据链路通过定义的不重复的流编号ID进行关联,根据流编号ID分别写入每路音视频的编码后的数据,
而且后期编辑也可以根据流编号ID分别进行处理。
上述方案中,为优化,进一步地,所述步骤1包括:
步骤A1,定义标头对象HeaderObject包括一个文件属性对象、一个头扩展对象以及至少一个流属性对象;定义媒体流以及定义媒体流对应的属性为流属性对象;
步骤A2,定义媒体流属性对象类型的对象标识为自循环从读入的数据中查找流属性对象类型对应的128位ID;
步骤A3,根据自媒体流中获取16字节的流属性对象类型字段,判断媒体流的数据类型;
步骤A4,根据媒体流的数据类型进行Type-Specific Data数据解析,同时解析流编号ID。
进一步地,步骤A4中的根据媒体流的数据类型进行Type-Specific Data数据解析包括:
步骤B1,媒体流的数据类型是ASF_Video_Media型时,则进行视频媒体类型的Type-Specific Data数据解析;采用BITMAPINFOHEADER 类型结构执行步骤2;
步骤B2,媒体流的数据类型是ASF_Audio_Media类型上,则进行音频媒体类型的Type-Specific Data数据解析;采用WAVEFORMATEX类型结构执行步骤2;
步骤B3,媒体流的数据类型是ASF_Command_Media型时,则直接执行步骤2。
进一步地,所述步骤A4包括:
步骤C1, 计算数据类型对应的Type-Specific Date的长度,使用的获取Type-Specific Date的长度来解析第三层的Type-Specific Data数据
步骤C2,跳过ErrorCorrection Data的4字节长度字段;
步骤C3,定义ErrorCorrection Data后依次排列的7位StreamNumber,8位Reserved,以及1位EncryptedContent Flag;所述8位Reserved均为0,1位EncryptedContent Flag为0时解析当前媒体流内的DATE字段,1位EncryptedContent Flag为1时不解析当前媒体流内的DATE字段;所述7位StreamNumber与0x7f进行与运算计算出所述流编号ID;
步骤C4,跳过4字节的Reserved字段,解析第三层的Type-Specific Data。
进一步地,所述步骤2中包括:
步骤D1,根据媒体流的数据类型解析第三层的Type-Specific Data,同时记录第二层的Type-SpecificData Length参数;
步骤D2,根据第二层的Type-SpecificData Length参数设置位深,同时判断是否要解析第三层中的cbSize和额外信息;
如果Type-Specific Data Length=14,位深定义8,仅解析第三层中的cbSize;
如果Type-SpecificData Length≥18,需要获取cbSize(16bit);将额外信息添加在WAVEFORMATEX结构的结尾;
如果Type-SpecificData Length不是以上2种值,将位深定义为解析ype-SpecificData Length靠后的16bit的值得到的wBitsPerSample字段。
本发明的有益效果:本发明存储的是每一个完整的媒体流,使得可以按每路流的编码数据格式为每个数据链路通过定义的不重复的流编号ID进行关联,根据流编号ID分别写入每路音视频的编码后的数据。可伸缩的媒体类型为动态创建媒体类型,代理设置可以写入多流数据。可扩展的媒体类型非常有效的灵活定义媒体类型使得存储后的媒体流逻辑上都是相互独立的,各个媒体流之间的依赖关系存储在文件头部分,而且每路音视频流可以分别采用不同的编码压缩的方式。
多流单文件可以录制拍摄的每路场景可以形成单个文件,画面场景没有丢失为后期非线性编辑非常方便,容易分类,多场景在一个文件中回放观看只需要打开一个文件。多流数据组合形式灵活形成的文件体积小,节省带宽适合网络传输。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1,实施例1中的方法示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供一种将多流视频保存为单视频文件的方法,如图1,所述方法包括:
步骤1,根据每路媒体流的编码数据格式为每路媒体流对应的数据链路定义流编号ID,各路媒体流的流编号ID不重复;
步骤2,根据媒体流的类型定义媒体流编码后的数据格式;
步骤3,根据流编号ID分别写入每路音频编码后的数据或视频的编码后的数据到数据存储中,保存为单视频文件。
具体地,所述步骤1包括:
步骤A1,定义标头对象HeaderObject包括一个文件属性对象、一个头扩展对象以及至少一个流属性对象;定义媒体流以及定义媒体流对应的属性为流属性对象;
步骤A2,定义媒体流属性对象类型的对象标识为自循环从读入的数据中查找流属性对象类型对应的128位ID;
步骤A3,根据自媒体流中获取16字节的流属性对象类型字段,判断媒体流的数据类型;
步骤A4,根据媒体流的数据类型进行Type-Specific Data数据解析,同时解析流编号ID。
具体地,步骤A4中的根据媒体流的数据类型进行Type-Specific Data数据解析包括:
步骤B1,媒体流的数据类型是ASF_Video_Media型时,则进行视频媒体类型的Type-Specific Data数据解析;采用BITMAPINFOHEADER 类型结构执行步骤2;
步骤B2,媒体流的数据类型是ASF_Audio_Media类型上,则进行音频媒体类型的Type-Specific Data数据解析;采用WAVEFORMATEX类型结构执行步骤2;
步骤B3,媒体流的数据类型是ASF_Command_Media型时,则直接执行步骤2。
具体地,所述步骤A4包括:
步骤C1, 计算数据类型对应的Type-Specific Date的长度,使用的获取Type-Specific Date的长度来解析第三层的Type-Specific Data数据
步骤C2,跳过ErrorCorrection Data的4字节长度字段;
步骤C3,定义ErrorCorrection Data后依次排列的7位StreamNumber,8位Reserved,以及1位EncryptedContent Flag;所述8位Reserved均为0,1位EncryptedContent Flag为0时解析当前媒体流内的DATE字段,1位EncryptedContent Flag为1时不解析当前媒体流内的DATE字段;所述7位StreamNumber与0x7f进行与运算计算出所述流编号ID;
步骤C4,跳过4字节的Reserved字段,解析第三层的Type-Specific Data。
具体地,所述步骤2中包括:
步骤D1,根据媒体流的数据类型解析第三层的Type-Specific Data,同时记录第二层的Type-SpecificData Length参数;
步骤D2,根据第二层的Type-SpecificData Length参数设置位深,同时判断是否要解析第三层中的cbSize和额外信息;
如果Type-Specific Data Length=14,位深定义8,仅解析第三层中的cbSize;
如果Type-SpecificData Length≥18,需要获取cbSize(16bit);将额外信息添加在WAVEFORMATEX结构的结尾;
如果Type-SpecificData Length不是以上2种值,将位深定义为解析ype-SpecificData Length靠后的16bit的值得到的wBitsPerSample字段。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本技术领域的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。
Claims (5)
1.一种将多流视频保存为单视频文件的方法,其特征在于:所述方法包括:
步骤1,根据每路媒体流的编码数据格式为每路媒体流对应的数据链路定义流编号ID,各路媒体流的流编号ID不重复;
步骤2,根据媒体流的类型定义媒体流编码后的数据格式;
步骤3,根据流编号ID分别写入每路音频编码后的数据或视频的编码后的数据到数据存储中,保存为单视频文件。
2.根据权利要求1所述的将多流视频保存为单视频文件的方法,其特征在于:所述步骤1包括:
步骤A1,定义标头对象HeaderObject包括一个文件属性对象、一个头扩展对象以及至少一个流属性对象;定义媒体流以及定义媒体流对应的属性为流属性对象;
步骤A2,定义媒体流属性对象类型的对象标识为自循环从读入的数据中查找流属性对象类型对应的128位ID;
步骤A3,根据自媒体流中获取16字节的流属性对象类型字段,判断媒体流的数据类型;
步骤A4,根据媒体流的数据类型进行Type-Specific Data数据解析,同时解析流编号ID。
3.根据权利要求2所述的将多流视频保存为单视频文件的方法,其特征在于:步骤A4中的根据媒体流的数据类型进行Type-Specific Data数据解析包括:
步骤B1,媒体流的数据类型是ASF_Video_Media型时,则进行视频媒体类型的Type-Specific Data数据解析;采用BITMAPINFOHEADER 类型结构执行步骤2;
步骤B2,媒体流的数据类型是ASF_Audio_Media类型上,则进行音频媒体类型的Type-Specific Data数据解析;采用WAVEFORMATEX类型结构执行步骤2;
步骤B3,媒体流的数据类型是ASF_Command_Media型时,则直接执行步骤2。
4.根据权利要求3所述的将多流视频保存为单视频文件的方法,其特征在于:所述步骤A4包括:
步骤C1, 计算数据类型对应的Type-Specific Date的长度,使用的获取Type-Specific Date的长度来解析第三层的Type-Specific Data数据
步骤C2,跳过ErrorCorrection Data的4字节长度字段;
步骤C3,定义ErrorCorrection Data后依次排列的7位StreamNumber,8位Reserved,以及1位EncryptedContent Flag;所述8位Reserved均为0,1位EncryptedContent Flag为0时解析当前媒体流内的DATE字段,1位EncryptedContent Flag为1时不解析当前媒体流内的DATE字段;所述7位StreamNumber与0x7f进行与运算计算出所述流编号ID;
步骤C4,跳过4字节的Reserved字段,解析第三层的Type-Specific Data。
5.根据权利要求4所述的将多流视频保存为单视频文件的方法,其特征在于:所述步骤2中包括:
步骤D1,根据媒体流的数据类型解析第三层的Type-Specific Data,同时记录第二层的Type-SpecificData Length参数;
步骤D2,根据第二层的Type-SpecificData Length参数定义位深,同时判断是否要解析第三层中的cbSize和额外信息;
如果Type-Specific Data Length=14,位深定义8,仅解析第三层中的cbSize;
如果Type-SpecificData Length≥18,需要获取cbSize(16bit);将额外信息添加在WAVEFORMATEX结构的结尾;
如果Type-SpecificData Length不是以上2种值,将位深定义为解析ype-SpecificData Length靠后的16bit的值得到的wBitsPerSample字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811090603.XA CN109361885A (zh) | 2018-09-19 | 2018-09-19 | 一种将多流视频保存为单视频文件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811090603.XA CN109361885A (zh) | 2018-09-19 | 2018-09-19 | 一种将多流视频保存为单视频文件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109361885A true CN109361885A (zh) | 2019-02-19 |
Family
ID=65351298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811090603.XA Withdrawn CN109361885A (zh) | 2018-09-19 | 2018-09-19 | 一种将多流视频保存为单视频文件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109361885A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059223A1 (en) * | 2002-06-24 | 2006-03-16 | Microsoft Corporation | Client-side caching of streaming media content |
CN105357504A (zh) * | 2015-12-17 | 2016-02-24 | 深圳市科漫达智能管理科技有限公司 | 一种视频流数据的录像与回放方法及装置 |
US20160071546A1 (en) * | 2014-09-04 | 2016-03-10 | Lev NEYMOTIN | Method of Active-View Movie Technology for Creating and Playing Multi-Stream Video Files |
CN106231222A (zh) * | 2016-08-23 | 2016-12-14 | 深圳亿维锐创科技股份有限公司 | 基于多码流可交互的示教录像文件格式及存储播放方法 |
CN108124165A (zh) * | 2016-11-30 | 2018-06-05 | 北京视联动力国际信息技术有限公司 | 一种基于视联网的码流录制方法及其系统 |
CN108449632A (zh) * | 2018-05-09 | 2018-08-24 | 福建星网视易信息系统有限公司 | 一种演唱视频实时合成的方法及终端 |
US10397639B1 (en) * | 2010-01-29 | 2019-08-27 | Sitting Man, Llc | Hot key systems and methods |
-
2018
- 2018-09-19 CN CN201811090603.XA patent/CN109361885A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059223A1 (en) * | 2002-06-24 | 2006-03-16 | Microsoft Corporation | Client-side caching of streaming media content |
US10397639B1 (en) * | 2010-01-29 | 2019-08-27 | Sitting Man, Llc | Hot key systems and methods |
US20160071546A1 (en) * | 2014-09-04 | 2016-03-10 | Lev NEYMOTIN | Method of Active-View Movie Technology for Creating and Playing Multi-Stream Video Files |
CN105357504A (zh) * | 2015-12-17 | 2016-02-24 | 深圳市科漫达智能管理科技有限公司 | 一种视频流数据的录像与回放方法及装置 |
CN106231222A (zh) * | 2016-08-23 | 2016-12-14 | 深圳亿维锐创科技股份有限公司 | 基于多码流可交互的示教录像文件格式及存储播放方法 |
CN108124165A (zh) * | 2016-11-30 | 2018-06-05 | 北京视联动力国际信息技术有限公司 | 一种基于视联网的码流录制方法及其系统 |
CN108449632A (zh) * | 2018-05-09 | 2018-08-24 | 福建星网视易信息系统有限公司 | 一种演唱视频实时合成的方法及终端 |
Non-Patent Citations (1)
Title |
---|
LXMNET123: "《ASF/WMV文件格式解析[URLhttps://blog.csdn.net/lxmnet123/article/details/10744623?utm_source=blogxgwz2]》", 31 August 2013 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1111612B1 (en) | Method and device for managing multimedia file | |
EP1566808A1 (en) | Method and apparatus for summarizing a plurality of frames | |
JP4481889B2 (ja) | データ記録装置及びその方法、プログラム、記録媒体 | |
CN107979621A (zh) | 一种视频文件的存储、定位播放方法及装置 | |
PT2172938E (pt) | Aparelho de gravação de dados | |
JP2007060286A (ja) | コンテンツ編集装置及びその再生装置 | |
CN105103540A (zh) | 文件生成方法、文件生成装置及记录介质 | |
US20090007208A1 (en) | Program, data processing method, and system of same | |
KR980010748A (ko) | 피다중화 데이터 생성장치, 인코딩된 데이터 재생 장치, 클럭 변환 장치, 인코딩된 데이터 기록 매체, 인코딩된 데이터 전송 매체, 피다중화 데이터 생성 방법, 인코딩된 데이터 재생 방법 및 클럭 변환 방법 | |
US10382835B2 (en) | Apparatus and method for verifying the integrity of video file | |
KR20010069124A (ko) | 멀티미디어 파일 결합방법 | |
CN101094364A (zh) | 用于处理信息的设备、方法、和计算机程序 | |
JP2004336593A (ja) | 情報処理装置および方法、プログラム記録媒体、並びにプログラム | |
US8699846B2 (en) | Reproducing device, reproducing method, program, and data structure | |
CN109361885A (zh) | 一种将多流视频保存为单视频文件的方法 | |
JP2016072858A (ja) | メディアデータ生成方法、メディアデータ再生方法、メディアデータ生成装置、メディアデータ再生装置、コンピュータ読み取り可能な記録媒体、及びプログラム | |
US20050025453A1 (en) | Program, data processing method, and system of same | |
CN106162322A (zh) | 一种视频处理方法及装置 | |
CN105357531A (zh) | 基于视频局部编码快速切割封装方法 | |
EP2234392B1 (en) | Material processing apparatus and material processing method | |
JP2004356751A (ja) | 情報処理装置、情報処理方法及び記録媒体 | |
JP2006129078A (ja) | データファイル編集方法及び装置及び制御プログラム及び記憶媒体 | |
CN115250266B (zh) | 视频处理方法及装置、流媒体设备及存储点播系统 | |
KR101995270B1 (ko) | 비디오 데이터를 재생하는 방법 및 장치 | |
JP7070433B2 (ja) | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
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 | ||
CB02 | Change of applicant information |
Address after: 100176 room 1101, 11 / F, building 2, No. 15, South Ronghua Road, Daxing Economic and Technological Development Zone, Beijing Applicant after: BEIJING WENXIANG INFORMATION TECHNOLOGY Co.,Ltd. Address before: 100075 Beijing Daxing District, Beijing Economic and Technological Development Zone, No. 26 Kechuang Thirteenth Street, 1 5-storey 501 Applicant before: BEIJING WENXIANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190219 |
|
WW01 | Invention patent application withdrawn after publication |