一种双视频混流播放方法、播放器及存储介质技术

技术编号:39132328 阅读:11 留言:0更新日期:2023-10-23 14:51
本申请公开了一种双视频混流播放方法、播放器及存储介质,属于视频处理领域,包括:S110、在预播放界面添加目标文件;S120、解析目标文件得到视频轨道、音频轨道以及字幕轨道,选择视频轨道以及音频轨道和字幕轨道作为混流内容;S130、依次将混流内容分隔为若干处理段;S140、处理段依次分配至若干混流子线程进行处理,每一段处理段完成后将资源占用情况发送至调度线程;S150、调度线程根据资源占用情况重新分隔处理段,并再次执行S140进行播放并写入磁盘存储中;播放器包括预播放界面、调度线程、视频播放界面以及若干混流子线程;该存储介质存储有完成上述方法的计算机程序。保证多视频混流过程中能够流畅观看视频。多视频混流过程中能够流畅观看视频。多视频混流过程中能够流畅观看视频。

【技术实现步骤摘要】
一种双视频混流播放方法、播放器及存储介质


[0001]本申请属于视频处理领域,特别涉及一种双视频混流播放方法、播放器及存储介质。

技术介绍

[0002]在视频播放场景中,我们经常需要将多个视频画面混合成一个视频画面的工作,常见的场景如:将一个视频中的音频添加至另一个视频的播放画面中,或者将一个视频的字幕添加至另一个视频的播放画面中。
[0003]现有技术中,针对上述应用场景,如申请号为CN201310690684.8的字幕调节方法及装置,通过获取音视频文件的音频信息和外挂字幕文件,对音频信息中的对白进行解析,生成对白时间表,对外挂字幕文件的内容进行解析,生成字幕时间表;将对白时间表和字幕时间表进行匹配,根据匹配结果确定音频信息与字幕文件之间的字幕时间差,并根据字幕时间差对字幕文件进行调节,输出调节后的字幕文件。但是方法针对单一视频文件的播放进行处理且仅针对字幕的加载与时间匹配,缺少对音频轨道的处理方法。
[0004]如申请号CN202010677344.1的一种增加字幕和/或音频的方法及系统,媒资服务器接收目标视频的标识和新语言文件,并将新语言文件转换为新语言介质文件;媒资服务器根据目标视频的标识找到第一索引文件,根据新语言介质文件在媒资服务器中的存储地址得到第二索引文件;媒资服务器将新语言介质文件和第二索引文件发送至内容分发服务器;内容分发服务器将第二索引文件中新语言介质文件在媒资服务器中的存储地址替换为在内容分发服务器中的存储地址,得到第三索引文件;内容分发服务器生成目标视频的第一URL。该方法实现了增加目标视频的新语言字幕或新语言音频时只需将目标视频的新语言字幕或新语言音频转码后上架,极大降低了成本,提升了运营效率。但是该方法需要相应的服务器进行数据的处理,且需要单独的音频或字幕文件作为被添加对象,使用局限性较大。
[0005]上述现有技术中的视频播放软件,大多只能支持单一视频文件播放,少数可以支持外挂音频轨道文件播放。如果用户想要播放的视频和音频内容分别来自两个不同的视频文件,则没有很好的解决方案,只能先使用视频编辑工具分离想要的音频轨道,再配合想要的视频文件进行播放。若视频内容和音频内容存在不同步的问题,则需要更复杂的操作,非常不方便。
[0006]因此,需要一种新的视频混流播放的技术方案,能够解决上述问题。

技术实现思路

[0007]为了克服现有技术的不足,本申请提供了一种双视频混流播放方法、播放器及存储介质,在预播放界面选择不同目标文件的视频轨道、音频轨道以及字幕轨道,并进行偏移量设置后形成播放方案,调度线程以及混流子线程能够根据播放方案进行混流并输出,从而达到通过简单的设置来欣赏更好的画面及聆听更舒服的音频的目的。
[0008]本申请所要解决的技术问题,可以通过以下方案实现:根据本申请的第一方面,提供一种双视频混流播放方法,包括如下步骤:步骤1:在预播放界面添加至少两个目标文件;步骤2:解析目标文件的mediainfo信息得到视频轨道、音频轨道以及字幕轨道,并显示在所述预播放界面,选择一个视频轨道以及若干音频轨道和字幕轨道作为混流内容;步骤3:根据所选的混流内容进行同步对齐设置以及播放起始点设置,从所述播放起始点开始,依次将所述混流内容分隔为若干处理段;步骤4:所述处理段依次分配至若干混流子线程进行处理,将处理后的处理段存入缓冲区,每一段处理段完成后所述混流子线程将处理过程中的资源占用情况发送至调度线程;步骤5:调度线程根据所述资源占用情况,重新分隔所述处理段长度,并再次进行步骤4,直至完成所有混流内容的处理;步骤6:根据设置进行播放并将缓冲区中的内容写入磁盘存储中。
[0009]优选地,在步骤3中,同步对齐步骤具体为:以所述视频轨道的时间轴作为参考轴,调整音频轨道以及字幕轨道的时间偏移量,使音频轨道和字幕轨道与视频轨道同步对齐;所述播放起始点为在所述参考轴上点选的任意时间点。
[0010]优选地,点选所述参考轴上任意时间点时,在预播放界面显示被点选的时间点所对应的帧画面,并显示与之对应的字幕轨道中第一条轨道的字幕内容,并在设置字幕轨道偏移量时实时显示字幕内容。
[0011]优选地,所述处理段从所述播放起始点开始其时长逐渐增大,最前部的混流子线程处理完成当前处理段后由调度线程分配最前部的未被处理的处理段进行处理;处理完成的处理段在缓冲区中按顺序形成播放列表,并根据需要进行播放。
[0012]优选地,所述资源占用情况至少包括:文件大小、耗时、CPU占用以及GPU占用;所述调度线程根据处理当前处理段的耗时,计算每秒钟所处理的混流内容时长;调度线程根据当前播放进度以及当前处理速度,确定处理段的最大时长,并根据最大时长重新分隔所述处理段长度。
[0013]优选地,当所述CPU占用或GPU占用超过阈值,且混流子线程的处理速度小于阈值时,减小混流子线程的数量直至处理速度大于阈值或混流子线程数量为1;当混流子线程数量为1且处理速度小于阈值时,则退出视频播放并弹出警示信息;当处理速度大于阈值时,则进入边播边混流模式,即在混流子线程处理过程中播放缓冲区中的内容。
[0014]优选地,在边播边混流模式下执行快进或快退指令时,暂停视频播放并在播放列表查询定位点,如果定位点位于播放列表中且缓存区中包含了自定位点开始至少10秒的内容,则跳转至该定位点进行播放,调度线程将定位点之后第一个处理段分配至最前端的混流子线程,最前端的混流子线程停止当前处理工作后开始处理最新分配的处理段;若缓存区中自定位点开始的内容少于10秒,则视频播放暂停直至缓存区中的内容大于10秒后再进行播放;若定位点不在缓存区中,则调度线程将定位点所在的处理段分配至最前端的混流子线程,将该处理段之后的处理段依次分配至剩余的其他混流子线程,所有混流子线程停
止当前处理工作并开始处理最新分配的处理段。
[0015]优选地,在边播边混流模式下执行音频轨道或字幕轨道的偏移量设置时,暂停视频播放并保留当前帧画面,清空缓存区后,按照当前播放时间点前2秒重新开始边播边混流模式进行播放。
[0016]根据本申请的第二方面,提供一种采用上述双视频混流播放方法的播放器,包括预播放界面、调度线程、视频播放界面以及若干混流子线程,其中:所述预播放界面用于展示设置界面,并进行进行同步对齐设置以及播放起始点设置;所述视频播放界面用于进行缓存区内容的解码、渲染以及播放输出;所述调度线程用于控制混流进程并对若干混流子线程进行调度;所述混流子线程用于对混流内容进行混流处理。
[0017]根据本申请的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述双视频混流播放方法。
[0018]根据本申请的一个实施例,采用本双视频混流播放方法的有益效果在于,能够对两个视频文件加多字幕文件进行混流处理,并实现多文件多轨道的灵活选择以及播放;本申请本地存储或samba/webdav等的共享存储设备中的视频文件,不需要相应的服务端实现,且不需要专门本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双视频混流播放方法,其特征在于,包括如下步骤:在预播放界面添加至少两个目标文件;解析目标文件的mediainfo信息得到视频轨道、音频轨道以及字幕轨道,并显示在所述预播放界面,选择一个视频轨道以及若干音频轨道和字幕轨道作为混流内容;根据所选的混流内容进行同步对齐设置以及播放起始点设置,从所述播放起始点开始,依次将所述混流内容分隔为若干处理段;所述处理段依次分配至若干混流子线程进行处理,将处理后的处理段存入缓冲区,每一段处理段完成后所述混流子线程将处理过程中的资源占用情况发送至调度线程;调度线程根据所述资源占用情况,重新分隔所述处理段长度,并再次进行所述处理段依次分配至若干混流子线程进行处理,将处理后的处理段存入缓冲区,每一段处理段完成后所述混流子线程将处理过程中的资源占用情况发送至调度线程的步骤,直至完成所有混流内容的处理;根据设置进行播放并将缓冲区中的内容写入磁盘存储中。2.根据权利要求1所述的双视频混流播放方法,其特征在于,在所述根据所选的混流内容进行同步对齐设置以及播放起始点设置,从所述播放起始点开始,依次将所述混流内容分隔为若干处理段的步骤中,同步对齐步骤具体为:以所述视频轨道的时间轴作为参考轴,调整音频轨道以及字幕轨道的时间偏移量,使音频轨道和字幕轨道与视频轨道同步对齐;所述播放起始点为在所述参考轴上点选的任意时间点。3.根据权利要求2所述的双视频混流播放方法,其特征在于,还包括以下步骤:点选所述参考轴上任意时间点时,在预播放界面显示被点选的时间点所对应的帧画面,并显示与之对应的字幕轨道中第一条轨道的字幕内容,并在设置字幕轨道偏移量时实时显示字幕内容。4.根据权利要求1所述的双视频混流播放方法,其特征在于,还包括以下步骤:所述处理段从所述播放起始点开始其时长逐渐增大,最前部的混流子线程处理完成当前处理段后由调度线程分配最前部的未被处理的处理段进行处理;处理完成的处理段在缓冲区中按顺序形成播放列表,并根据需要进行播放。5.根据权利要求4所述的双视频混流播放方法,其特征在于,所述资源占用情况至少包括:文件大小、耗时、CPU占用以及GPU占用;所述调度线程根据处理当前处理段的耗时,计算每秒钟所处理的混流内容时长;调度线程根据当前播放...

【专利技术属性】
技术研发人员:邢海涛崔炜牛冠杰刘毅敏陈朝华
申请(专利权)人:联通在线信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1