多轨道音视频同步编辑方法与流程

1、多轨道音视频同步编辑方法背景

       目前录制课件视频普遍采用只录制屏幕,成果文件即为屏幕视频文件,在过程中只有通过对屏幕的操作展现所要表达的内容,过程中需要辅助摄像头介入的时候普遍采用第三方软件调出摄像头在屏幕上面展示,而多个摄像头时还存在多次确认的过程,切换摄像头也不方便,且此时还不能单独录制摄像头;或者只录制摄像头,在过程中想要展示屏幕内容,此时比较简便的方法就是通过摄像头拍摄屏幕且需要手动调整,但此时拍的屏幕会存在几种情况例如变形,局部放大和外围屏幕边缘,使得整个视频中表现极为不协调,在录制完成后的后期编辑中只能通过删减方式处理,需要更精细的处理往往需要安装比较大的软件进一步处理,致使后期处理时间很长。在录制视频想达到更好的展示效果,需要找专业的团队,采用多个摄像头同时拍摄,后期耗费比较大的精力来处理多个摄像头的场景切换,内容的衔接等等,周期比较长,耗时的同时还需要更多的资金支持,这种方式没法常态化的提供。

       现有在多摄像机机位的节目制作过程中,首先需要对多台摄像机输出的视频信号进行采集,同时也需要对视频信号的时间码(Time Code,TC)进行采集,并将视频信号和时间码一并写入计算机中,形成供后期编辑使用的节目素材。在节目的后期编辑中,来自同一场景的多个机位的素材,需要在不同的视频轨道上保持原始的相对时间关系,因此,需要采用一定的同步技术,比如选取某个特定的视频帧作为时间参考,或者在采集视频信号的同时,采集同步的时间码等。常规的音视频多通道录制的成果是通过切换台选择展示或保存的视频片段文件,需要专用硬件支持,成本高,操作复杂。录制完成后的多个视频剪辑须将录制的视频分布在各个轨道上,然后逐个轨道进行编辑操作,工作效率较低,编辑过程中多通道音视频同步性差,工作复杂。

2、技术实现要素:

        本发明所要解决的技术问题是:为解决对多路通道的音视频文件进行剪辑的过程中,需要将多路通道的音视频文件发布在各个轨道上进行逐个编辑而造成的工作效率低的问题,提出一种多轨道音视频同步编辑方法。

本发明解决上述技术问题,采用的技术方案是:

多轨道音视频同步编辑方法,包括以下步骤:

S1、将同步录制的时长一致的各个音视频录制文件一一对应加载在统一时间轴的各个音视频编辑轨道上,所述音视频录制文件至少包括默认音频录制文件和默认视频录制文件;

S2、设置用户选择的时间轴上的时间点为标记时间点,根据所述标记时间点得到分段的时间段并将各个音视频编辑轨道上对应的音视频录制文件进行统一分段得到音视频片段;

S3、根据用户选择的编辑对象及编辑手段对音视频编辑轨道上的音视频录制文件进行统一编辑,使得音视频编辑轨道上任一时间段内最多存在一路音频作为激活音频且一一对应的最多存在一路视频作为激活视频,所述编辑对象包括音视频片段和标记时间点;

S4、将各时间段的激活音频和激活视频各自按时间顺序依次拼接分别得到成果音频和成果视频,合成所述成果音频和成果视频得到编辑成果文件。

进一步的,所述步骤S1之前包括:

S0、对至少一路默认音频通道和一路默认视频通道进行同步音视频采集,得到与采集通道一一对应且录制时长一致的至少两个音视频录制文件,且所述两个音视频录制文件分别为默认音频录制文件和默认视频录制文件。

优选的,所述步骤S0包括:

S001、读取各路通道上的音视频采集设备的连接状态信息;

S002、同时向各路通道的音视频采集设备发出录制指令,各路通道的音视频采集设备同时开始录制并创建对应的音视频录制文件;

S003、同时向各路通道的音视频采集设备发出停止指令,各路通道的音视频采集设备同时停止录制并保存对应的音视频录制文件。

进一步的,所述步骤S003之后包括:根据音视频采集设备的个数、音视频采集设备的类型以及录制时长生成一个采集脚本文件;

所述步骤S1包括:

        根据采集脚本文件中的录制时长渲染音视频编辑轨道上的时间轴,根据所述音视频采集设备的个数和类型渲染音视频编辑轨道。

优选的,所述步骤S2包括:

       记所述标记时间点的个数为k,当k为1时,标记时间点记为t1,当k≥2时,标记时间点按照时间的先后顺序分别记为t1~tk,根据标记时间点将每个音视频编辑轨道上对应的音视频录制文件都分为k+1段得到k+1段音视频片段,则任一音视频编辑轨道上的第i段音视频片段为该音视频编辑轨道上对应的音视频录制文件中ti~ti+1时间段的音视频,其中,0≤i≤k,t0为音视频录制文件的起始时间点;tk+1为音视频录制文件的终止时间点。

优选的,所述步骤S3包括:将用户选择的编辑对象和编辑手段记录至编辑成果文件;

        所述步骤S4包括:根据所编辑成果文件将各时间段的激活音频和激活视频画面各自按时间顺序依次拼接分别得到成果音频和成果视频。

       优选的,所述音视频片段包括音频片段和视频片段,所述编辑手段包括切换,所述编辑对象包括音视频片段,所述步骤S3包括:

       所述音视频录制文件还包括至少一路非默认视频录制文件,激活视频默认采用默认视频录制文件中的视频,根据用户的切换操作,将用户当前选择的视频片段作为对应时间段的激活视频;

和/或,所述音视频录制文件还包括至少一路非默认音频录制文件,激活音频默认采用默认音频录制文件中的音频,根据用户的切换操作,将用户当前选择的音频片段作为对应时间段的激活音频。

优选的,所述编辑手段包括删除,所述编辑对象包括音视频片段,所述步骤S3包括:

根据用户的删除操作,将用户当前选择的音视频片段对应时间段内的各个音视频编辑轨道上的音视频片段均删除。

优选的,所述音视频片段包括音频片段和视频片段,所述编辑手段包括插入,所述编辑对象包括标记时间点,所述步骤S3包括;

记用户当前选择的标记时间点为插入时间点,根据用户的插入操作,记用户需要插入的音视频的时长或用户需要插入的图片的定格时长为插入时长,将各个音视频编辑轨道上所述插入时间点后的音视频片段统一后移所述插入时长;

当所述需要插入的音视频包括时长一致的视频画面和音频时,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入所述视频画面,在默认音频录制文件对应的音视频编辑轨道上的插入时间点处插入所述音频;

或,当所述需要插入的音视频仅包括视频画面时,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入所述视频画面,将默认音频录制文件对应的音视频编辑轨道上插入时间点后插入时长内的音频均设置为静音;

或,当所述需要插入的音视频仅包括图片时,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入所述图片,将默认音频录制文件对应的音视频编辑轨道上插入时间点后插入时长内的音频均设置为静音。

本发明的有益效果是:

1)将多个音视频录制文件同步加载到音视频编辑轨道上并根据用户的需求进行统一分段,根据用户选择的编辑对象和编辑手段同步操作各个轨道上的音视频录制文件,可任意指定显示某个轨道上的音视频片段的画面作为激活视频,解决了传统编辑方案需要手工同步各个通道的音视频画面和衔接而造成工作效率低的问题,同时也解决了传统编辑过程中,需要调整各个轨道的显示层次关系而造成的剪辑效率低的问题。

2)采用多通道同步录制技术,将各个通道的音视频采集设备保持同步录制并保存成对应独立的音视频录制文件,保证了各个通道的音视频录制文件的完整性、一致性和同步性,避免了多个音视频采集设备异步采集音视频而造成后序编辑困难的问题。

附图说明

图1为本发明实施例的方法流程图;

图2为本发明实施例的多通道音视频同步录制方法的示意图;

图3为本发明实施例的多通道音视频同步录制结果的示意图;

图4为本发明实施例的同步录制和同步编辑的示意图;

图5为本发明实施例的多轨道音视频同步切换的示意图;

图6为本发明实施例的多轨道音视频同步删除的示意图;

图7为本发明实施例的多轨道音视频同步插入的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及如下实施例对本发明进行进一步详细说明。

如图1所示,多轨道音视频同步编辑方法,包括以下步骤:

S1、将同步录制的时长一致的各个音视频录制文件一一对应加载在统一时间轴的各个音视频编辑轨道上,所述音视频录制文件至少包括默认音频录制文件和默认视频录制文件。

其中,对于教学应用环境来说,一般情况下,默认音频录制文件的来源可以是直接录取整个教学环境的声音,默认通道视频录制文件的来源可以是教学屏幕的屏幕视频,可以理解的是上述视频仅包括视频画面。

S2、设置用户选择的时间轴上的时间点为标记时间点,根据所述标记时间点得到分段的时间段并将各个音视频编辑轨道上对应的音视频录制文件进行统一分段得到音视频片段;

其中,标记时间点的选择可以采用用户的点击操作进行设置,用户根据实际情况可任意的指定将时间轴上某个时间点作为时间段的分割点即标记时间点。

S3、根据用户选择的编辑对象及编辑手段对音视频编辑轨道上的音视频录制文件进行统一编辑,使得音视频编辑轨道上任一时间段内最多存在一路音频作为激活音频且一一对应的最多存在一路视频作为激活视频;所述编辑对象包括音视频片段和标记时间点;

其中,编辑手段可包括切换、插入和删除。

S4、将各时间段的激活音频和激活视频各自按时间顺序依次拼接分别得到成果音频和成果视频,合成所述成果音频和成果视频得到编辑成果文件。

其中,作为进一步的优选,合成成果音频和成果视频得到编辑成果文件可包括如下操作:优化成果音频、编码优化后的成果音频、编码成果视频,最后再合并编码后的成果音频和成果视频得到编辑成果文件。

        对各个录制采集的音视频通道画面进行同步的标记时间点、同步操作时间片段内所有通道,并能在任一时间段内指定某个通道视频作为激活视频,此操作简便快捷,能保持各通道的同步性,解决了传统多轨道编辑技术需要手工调整各轨道音视频录制文件之间的同步和调整显示轨道衔接及轨道层次遮挡等问题,有效地避免了多轨道的音视频录制文件不同步的问题。进一步的,可在录制过程中通过任意指定显示某个通道上的音视频在电脑屏幕上显示,有效地避免传统录制系统只能录制或只能展示的单一功能,为用户提供了一种同步展示和录制的应用服务,设计合理可操作性强。

如图1所示,步骤S1之前还可包括:

       S0、对至少一路默认音频通道和一路默认视频通道进行同步音视频采集,得到与采集通道一一对应且录制时长一致的至少两个音视频录制文件,且所述两个音视频录制文件分别为默认音频录制文件和默认视频录制文件。

       具体的,可采用一种或多种具有录制音频或录制视频功能的音视频采集设备进行采集,音视频采集设备包括高拍仪、摄像机和录音机。

如图2所示,步骤S0可包括:

S001、读取各路通道上的音视频采集设备的连接状态信息;

S002、同时向各路通道的音视频采集设备发出录制指令,各路通道的音视频采集设备同时开始录制并创建对应的音视频录制文件;

S003、同时向各路通道的音视频采集设备发出停止指令,各路通道的音视频采集设备同时停止录制并保存对应的音视频录制文件。

         如图3所示,作为实际应用场景下一种多通道音视频同步录制结果的展示,其中,音视频录制文件可包括声音文件作为默认音频录制文件、屏幕视频作为默认视频录制文件、视频文件1和视频文件2,可以看出,各音视频录制文件时长一致相互独立且同步。

          进一步的,录制过程中可包括暂停录制和继续录制的操作,当接收到暂停录制指令时,同步更改所有音视频采集通道的录制状态值为暂停,各路通道的音视频采集设备实时判断所述录制状态值,如录制状态值为暂停,则暂停录制所有的音视频;当接收到继续录制指令时,同步更改所有音视频采集通道的录制状态为继续,各路通道的音视频采集设备实时判断所述录制状态值,如录制状态值为继续,则继续录制所有的音视频。

          为了方便后续的加载,可将加载需要的相关音视频信息存放于一采集脚本文件中,也就是说,步骤S003之后可包括:根据音视频采集设备的个数、音视频采集设备的类型以及录制时长生成一个采集脚本文件;所述步骤S1包括:根据采集脚本文件中的录制时长渲染音视频编辑轨道上的时间轴,根据所述音视频采集设备的个数和类型渲染音视频编辑轨道。

        考虑到分段的同步性和便捷性,上述步骤S2可包括:记所述标记时间点的个数为k,当k为1时,标记时间点记为t1,当k≥2时,标记时间点按照时间的先后顺序分别记为t1~tk,根据标记时间点将每个音视频编辑轨道上对应的音视频录制文件都分为k+1段得到k+1段音视频片段,则任一音视频编辑轨道上的第i段音视频片段为该音视频编辑轨道上对应的音视频录制文件中ti~ti+1时间段的音视频,其中,0≤i≤k,t0为音视频录制文件的起始时间点;tk+1为音视频录制文件的终止时间点。可见任意音视频编辑轨道上的分段的时间段也为k+1段,如图4所示,该图展示了完整的同步录制和同步编辑的示意图。

       为了编辑手段可实现撤销上一步操作和重复上一步操作的功能,所述步骤S3包括:将用户选择的编辑对象和编辑手段记录至编辑成果文件;所述步骤S4包括:根据所编辑成果文件将各时间段的激活音频和激活视频画面各自按时间顺序依次拼接分别得到成果音频和成果视频。

       上述音视频片段包括音频片段和视频片段,当编辑手段包括切换时,编辑对象包括音视频片段,步骤S3包括:

       音视频录制文件还包括至少一路非默认视频录制文件,激活视频默认采用默认视频录制文件中的视频,根据用户的切换操作,将用户当前选择的视频片段作为对应时间段的激活视频;

和/或,音视频录制文件还包括至少一路非默认音频录制文件,激活音频默认采用默认音频录制文件中的音频,根据用户的切换操作,将用户当前选择的音频片段作为对应时间段的激活音频。

        作为上述切换编辑手段的一种举例,如图5所示,音视频录制文件共有4个,分别为视频文件1、视频文件N、声音文件和屏幕视频,其中,声音文件作为默认音频录制文件,屏幕视频作为默认视频录制文件;用户设置了四个标记时间点,分别为t1~tn,将所有的音视频录制文件都分为了5段,用户选取了视频文件N的t0~t1段的视频做切换操作,选取了视频文件1的t1~t2段的视频做切换操作,选取了视频文件N的t3~t4段的视频做切换操作,选取了视频文件1的t4~t5段的视频做切换操作,可以理解的是,可以是选取的时候同时进行切换,也可以是选取了之后单独再进行一步切换操作。如此激活视频包括t0~t1时间段的视频文件N、t1~t2时间段的视频文件1,t2~t3时间段的屏幕视频,t3~t4时间段的视频文件N,t4~t5时间段的视频文件1,成果视频由上述激活视频按时间顺序依次拼接而成,激活音频和成果音频仍为t0~t5段的音频文件中的音频。通过指定同一时间段内的多个视频片段中的一段为激活视频,解决了需要调整各个轨道的显示层次关系而造成的剪辑效率低的问题,剪辑效率高,剪辑质量高。

编辑对象包括音视频片段,当编辑手段为删除时,步骤S3可包括:

       根据用户的删除操作,将用户当前选择的音视频片段对应时间段内的各个音视频编辑轨道上的音视频片段均删除。

      作为上述删除编辑手段的一种举例,如图6所示,音视频录制文件共有4个,分别为视频文件1、视频文件N、声音文件和屏幕视频,其中,声音文件作为默认音频录制文件,屏幕视频作为默认视频录制文件;用户采用了三个标记时间点将所有的音视频文件都分为了4段,选择t1~t2时间段的任一音视频文件进行删除操作,则对应阴影部分的内容全部删除,t2时间点后的所有音视频文件均可前移对接对应t0~t1时间段的音视频文件。通过对选中时间段内的所有轨道上的音视频片段进行同步删除,并将所有轨道上处于被删除的音视频片段后续的音视频片段进行同步向前移动,解决了传统编辑方案需要手工同步各个通道的音视频画面和衔接而造成工作效率低的问题,提高了剪辑效率。

      上述音视频片段包括音频片段和视频片段,编辑对象包括标记时间点,当编辑手段包括插入时,步骤S3包括;

      记用户当前选择的标记时间点为插入时间点,根据用户的插入操作,记用户需要插入的音视频的时长或用户需要插入的图片的定格时长为插入时长,将各个音视频编辑轨道上插入时间点后的音视频片段统一后移插入时长;可以理解的是,当插入图片时,定格时长为图片的显示时长。

      当需要插入的音视频包括时长一致的视频画面和音频时,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入视频画面,在默认音频录制文件对应的音视频编辑轨道上的插入时间点处插入音频;

       或,当需要插入的音视频仅包括视频画面时,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入视频画面,将默认音频录制文件对应的音视频编辑轨道上插入时间点后插入时长内的音频均设置为静音;

       或,当需要插入的音视频仅包括图片时,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入图片,将默认音频录制文件对应的音视频编辑轨道上插入时间点后插入时长内的音频均设置为静音。

作为上述插入编辑手段的一种举例,如图7所示,音视频录制文件共有4个,分别为视频文件1、视频文件N、声音文件和屏幕视频,其中,声音文件作为默认音频录制文件,屏幕视频作为默认视频录制文件;用户选中图中11分57秒处为插入时间点,将各个音视频编辑轨道上插入时间点后的音视频片段统一后移插入时长,本实施例中插入时长为40秒;插入一个40秒的音视频,该音视频包括视频画面和音频,在默认视频录制文件对应的音视频编辑轨道上的插入时间点处插入视频画面,在默认音频录制文件对应的音视频编辑轨道上的插入时间点处插入音频;也就是说插入的音视频为11分57秒到12分37秒中阴影部分的内容。通过将同一时间段内插入时间点之后的所有音视频编辑轨道上的音视频片段进行同步向后移动,并将所要插入的片段插入在被后移的所有音视频片段的前侧,解决了传统编辑方案需要手工同步各个通道的音视频画面和衔接而造成工作效率低的问题,提高了剪辑效率。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MediaMuxer是一个非常好的录像库,它能将H.264视频+AAC音频存储成.mp4格式的文件,而且稳定性、同步效果都非常好。在使用MediaMuxer进行音视频同步时,需要注意以下几点: 1. 首先需要创建一个MediaMuxer对象,并指定输出文件的路径和格式。 2. 然后需要创建一个MediaFormat对象,用于指定音频或视频的编码格式、采样率、码率等参数。 3. 接着需要调用MediaMuxer的addTrack方法将音频或视频的MediaFormat对象添加到MediaMuxer中。 4. 然后需要调用MediaMuxer的start方法开始合成音视频。 5. 接着需要将音频或视频的数据写入MediaMuxer中,可以使用MediaCodec进行编码,然后将编码后的数据写入MediaMuxer中。 6. 最后需要调用MediaMuxer的stop和release方法停止合成音视频并释放资源。 下面是一个使用MediaMuxer进行音视频同步的示例代码: ```java MediaMuxer mediaMuxer = new MediaMuxer(outputPath, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); int videoTrackIndex = -1; int audioTrackIndex = -1; MediaFormat videoFormat = null; MediaFormat audioFormat = null; // 添加视频轨道 videoTrackIndex = mediaMuxer.addTrack(videoFormat); // 添加音频轨道 audioTrackIndex = mediaMuxer.addTrack(audioFormat); // 开始合成音视频 mediaMuxer.start(); // 将视频数据写入MediaMuxer中 ByteBuffer videoBuffer = ByteBuffer.allocate(videoSize); mediaMuxer.writeSampleData(videoTrackIndex, videoBuffer, videoBufferInfo); // 将音频数据写入MediaMuxer中 ByteBuffer audioBuffer = ByteBuffer.allocate(audioSize); mediaMuxer.writeSampleData(audioTrackIndex, audioBuffer, audioBufferInfo); // 停止合成音视频并释放资源 mediaMuxer.stop(); mediaMuxer.release(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值