使用帧时间戳同步音频和视频

时间:2019-05-20 16:18:38

标签: python audio video synchronization

我正在用python 3编写一个多线程应用程序,一个使用opencv从摄像头捕获线程,另一个使用pyaudio记录音频帧。两个线程都将帧放在单独的循环缓冲区中,每个帧都有绝对时间戳。 现在,我想创建另一个线程,该线程从缓冲区读取数据,并使用时间戳信息将音频和视频帧连接在一起,然后将所有内容保存到mp4文件中。我发现的唯一一件事是使用ffmpeg合并音频和视频文件,但与动态帧无关。 加入它们之前,我真的需要创建音频和视频文件吗?在这种情况下,我不了解的是如何处理同步。 任何提示将不胜感激。

编辑

为了回应评论,时间戳是由我创建的并且是绝对的,我使用的数据结构包含实际数据(视频或音频帧)和时间戳。关键是音频是使用麦克风录制的,而摄像头是使用网络摄像头录制的,它们是不同的硬件,没有同步。

网络摄像头抓取一个框架,对其进行详细说明,然后使用我的数据结构(数据+时间戳记)放入一个循环缓冲区中。

麦克风使用我的数据结构(数据+时间戳记)记录音频帧,对其进行细化并放入循环缓冲区中。

所以我有2个缓冲区,我想弹出帧并以任何视频文件格式连接在一起,以最准确的方式匹配时间戳。我的想法是可以在视频帧中添加音频帧(我将检查时间戳匹配)。

0 个答案:

没有答案