System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及视频处理,具体涉及一种文件封装方法、文件播放方法、文件封装装置、文件播放装置、电子设备、计算机可读存储介质及计算机程序产品。
技术介绍
1、flv(flash video)封装格式作为一种常见的多媒体文件封装格式,由于其封装得到的flv文件体积极小,封装规范简单等特点,使得其适合在网络上进行传输和使用。比如,在线视频网站通常采用flv封装格式来封装视频,使得网络观看视频成为可能。
2、然而,flv封装格式诞生较早,目前最新的版本是2010年发布的10.1版本,受历史条件等各种原因限制,导致flv封装格式不支持2010年之后出现的视频编码格式如h.265、av1、h.266等,为满足现实业务需求,亟需扩展flv封装格式能够支持的视频编码格式。
技术实现思路
1、本申请实施例提供一种文件封装方法、文件播放方法、文件封装装置、文件播放装置、电子设备、计算机可读存储介质以及计算机程序产品,能够扩展flv封装格式支持的视频编码格式。
2、第一方面,本申请提供的文件封装方法,包括:
3、获取待封装的已编码视频,并确定已编码视频所采用的当前视频编码格式;
4、若当前视频编码格式为原始flv封装格式不支持的视频编码格式,则设置已编码视频的视频编码格式标识符的取值为视频编码格式标识符的第一预留值;
5、根据原始flv封装格式,将视频编码格式标识符和已编码视频封装为第一flv视频标签,已编码视频封装于第一flv视频标签的视频负载部分
6、在第一flv视频标签的视频负载部分增加第一预设比特区域,并根据视频编码格式和视频编码标识的第一预设对应关系,在第一预设比特区域写入对应当前视频编码格式的目标视频编码标识,得到第二flv视频标签;
7、根据原始flv封装格式,将第二flv视频标签封装为flv文件,其中,视频编码格式标识符在取值为第一预留值时,用于指示flv文件的播放端从第一预设比特区域读取目标视频编码标识,并按照目标视频编码标识对应的当前视频编码格式,对已编码视频进行解码播放。
8、第二方面,本申请提供的文件播放方法,包括:
9、获取待播放的flv文件,并解封装flv文件,得到flv视频标签,flv视频标签的视频负载部分携带有已编码视频;
10、读取flv视频标签的视频编码格式标识符,得到视频编码格式标识符的第一当前取值;
11、若第一当前取值为视频编码格式标识符的第一预留值,则判定flv视频标签的视频负载部分添加有第一预设比特区域,且第一预设比特区域写入有指示已编码视频的当前视频编码格式的目标视频编码标识;
12、从第一预设比特区域读取目标视频编码标识,并根据视频编码格式和视频编码标识的第一预设对应关系,确定已编码视频的当前视频编码格式;
13、按照当前视频编码格式,对已编码视频进行解码播放。
14、第三方面,本申请提供的文件封装装置,包括:
15、数据获取模块、标识设置模块、标签封装模块以及文件封装模块,其中,
16、数据获取模块,用于获取待封装的已编码视频,并确定已编码视频所采用的当前视频编码格式;
17、标识设置模块,用于若当前视频编码格式为原始flv封装格式不支持的视频编码格式,则用于设置已编码视频的视频编码格式标识符的取值为视频编码格式标识符的第一预留值;
18、标签封装模块,根据原始flv封装格式,将视频编码格式标识符和已编码视频封装为第一flv视频标签,已编码视频封装于第一flv视频标签的视频负载部分;
19、标识设置模块还用于在第一flv视频标签的视频负载部分增加第一预设比特区域,并根据视频编码格式和视频编码标识的第一预设对应关系,在第一预设比特区域写入对应当前视频编码格式的目标视频编码标识,得到第二flv视频标签;
20、文件封装模块,用于根据原始flv封装格式,将第二flv视频标签封装为flv文件,其中,视频编码格式标识符在取值为第一预留值时,用于指示flv文件的播放端从第一预设比特区域读取目标视频编码标识,并按照目标视频编码标识对应的当前视频编码格式,对已编码视频进行解码播放。
21、可选的,在一实施例中,标识设置模块用于根据视频编码格式和人类可读格式的视频编码标识的第一预设对应关系,确定对应当前视频编码格式的目标人类可读视频编码标识;以及在第一预设比特区域写入目标人类可读视频编码标识,得到第二flv视频标签。
22、可选的,在一实施例中,标识设置模块还用于从第一第三方管理平台获取视频编码格式和人类可读格式的视频编码标识的第一预设对应关系。
23、可选的,在一实施例中,标识设置模块用于在第一flv视频标签的视频负载部分的起始位置增加第一预设比特区域。
24、可选的,在一实施例中,数据获取模块还用于根据第一第三方封装格式的视频编码格式配置信息的第一信息格式,获取对应已编码视频的当前视频编码格式配置信息,第一第三方封装格式支持的视频编码格式多于原始flv封装格式支持的视频编码格式;
25、标签封装模块还用于根据原始flv封装格式,将当前视频编码格式配置信息封装为第三flv视频标签;
26、文件封装模块用于根据原始flv封装格式,将第二flv视频标签和第三flv视频标签封装为flv文件。
27、可选的,在一实施例中,数据获取模块还用于获取对应已编码视频的已编码音频,并确定已编码音频所采用的当前音频编码格式;
28、标识设置模块还用于若当前音频编码格式为flv封装格式不支持的音频编码格式,则设置已编码音频的音频格式描述符的取值为音频格式描述符的第二预留值;
29、标签封装模块还用于根据原始flv封装格式,将音频格式描述符和已编码音频封装为第一flv音频标签,已编码音频封装于第一flv音频标签的音频负载部分;
30、标识设置模块还用于在第一flv音频标签的音频负载部分增加第二预设比特区域,并根据音频编码格式和音频编码标识的第二预设对应关系,在第二预设比特区域写入对应当前音频编码格式的目标音频编码标识,得到第二flv音频标签;
31、文件封装模块用于根据原始flv封装格式,将第二flv视频标签、第三flv视频标签以及第二flv音频标签封装为flv文件,其中,音频格式描述符在取值为第二预留值时,用于指示flv文件的播放端从第二预设比特区域读取目标音频编码标识,并按照目标音频编码标识对应的当前音频编码格式,对已编码音频进行解码播放。
32、可选的,在一实施例中,标识设置模块用于根据音频编码格式和人类可读格式的视频编码标识的第二预设对应关系,确定对应当前音频编码格式的目标人类可读音频编码标识;以及在第二预设比特区域写入目标人类可读音频编码标识,得到第二flv音频标签。
33、可选的,在一实施例中,标识设置模块还用于从第二第三本文档来自技高网...
【技术保护点】
1.一种文件封装方法,其特征在于,包括:
2.根据权利要求1所述的文件封装方法,其特征在于,所述根据视频编码格式和视频编码标识的第一预设对应关系,在所述第一预设比特区域写入对应所述当前视频编码格式的目标视频编码标识,得到第二FLV视频标签,包括:
3.根据权利要求2所述的文件封装方法,其特征在于,所述根据视频编码格式和人类可读格式的视频编码标识的第一预设对应关系,确定对应所述当前视频编码格式的目标人类可读视频编码标识之前,还包括:
4.根据权利要求1所述的文件封装方法,其特征在于,所述在所述第一FLV视频标签的视频负载部分增加第一预设比特区域,包括:
5.根据权利要求1-4任一项所述的文件封装方法,其特征在于,还包括:
6.根据权利要求5所述的文件封装方法,其特征在于,还包括:
7.根据权利要求6所述的文件封装方法,其特征在于,所述根据音频编码格式和音频编码标识的第二预设对应关系,在所述第二预设比特区域写入对应所述当前音频编码格式的目标音频编码标识,得到第二FLV音频标签,包括:
8.根据权利要求
9.根据权利要求6所述的文件封装方法,其特征在于,所述在所述第一FLV音频标签的音频负载部分增加第二预设比特区域,包括:
10.根据权利要求6所述的文件封装方法,其特征在于,还包括:
11.根据权利要求10所述的文件封装方法,其特征在于,所述已编码视频包括已编码直播视频,所述已编码音频包括对应所述已编码直播视频的已编码直播音频,所述根据所述原始FLV封装格式,将所述第二FLV视频标签、所述第三FLV视频标签、所述第二FLV音频标签以及所述第三FLV音频标签,封装为FLV文件之后,还包括:
12.一种文件播放方法,其特征在于,包括:
13.根据权利要求12所述的文件播放方法,其特征在于,所述解封装所述FLV文件,得到FLV视频标签,包括:
14.一种文件封装装置,其特征在于,包括:
15.一种文件播放装置,其特征在于,包括:
16.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至11任一项所述的文件封装方法中的步骤,或者执行权利要求12或13所述的文件播放方法中的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至11任一项所述的文件封装方法中的步骤,或者执行权利要求12或13所述的文件播放方法中的步骤。
18.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至11任一项所述的文件封装方法中的步骤,或者实现权利要求12或13所述的文件播放方法中的步骤。
...【技术特征摘要】
1.一种文件封装方法,其特征在于,包括:
2.根据权利要求1所述的文件封装方法,其特征在于,所述根据视频编码格式和视频编码标识的第一预设对应关系,在所述第一预设比特区域写入对应所述当前视频编码格式的目标视频编码标识,得到第二flv视频标签,包括:
3.根据权利要求2所述的文件封装方法,其特征在于,所述根据视频编码格式和人类可读格式的视频编码标识的第一预设对应关系,确定对应所述当前视频编码格式的目标人类可读视频编码标识之前,还包括:
4.根据权利要求1所述的文件封装方法,其特征在于,所述在所述第一flv视频标签的视频负载部分增加第一预设比特区域,包括:
5.根据权利要求1-4任一项所述的文件封装方法,其特征在于,还包括:
6.根据权利要求5所述的文件封装方法,其特征在于,还包括:
7.根据权利要求6所述的文件封装方法,其特征在于,所述根据音频编码格式和音频编码标识的第二预设对应关系,在所述第二预设比特区域写入对应所述当前音频编码格式的目标音频编码标识,得到第二flv音频标签,包括:
8.根据权利要求7所述的文件封装方法,其特征在于,所述根据音频编码格式和人类可读格式的视频编码标识的第二预设对应关系,确定对应所述当前音频编码格式的目标人类可读音频编码标识之前,还包括:
9.根据权利要求6所述的文件封装方法,其特征在于,所述在所述第一flv音频标签的音频负载部分增加第二预设比特区域,包括:
10.根据权利要求6所述的文...
【专利技术属性】
技术研发人员:赵志立,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。