Android录制和结果有音频视频同步问题

时间:2016-11-16 08:56:46

标签: android synchronization media mediacodec recording

我正在尝试解决A / V同步问题。视频将比音频延迟1秒。 (请参阅下面的注释)

来自Android Media Framework部分 我可以延迟音频时间戳让它与视频同步,我应该从哪里开始?是AudioSource吗? MPEG4Writer? MediaCodecSource?

请帮助!!

[案例]:如果有5秒的视频。目前的情况:

0-1秒的

视频部分将冻结,1-5秒保持正常。视频帧从1.00开始实际上是0.00s的帧。

音频部分在整个场景中保持正常。因此视频部分将与音频部分延迟1秒。

1.00s上的视频部分实际上与0.00s上的音频部分匹配。

[尝试失败]

如果我只是在MPEG4Writer上的视频部件上移动StartTimeUs,我会尝试,A / V会同步,但最终存档,会有1.00s视频冻结和普通音频。

[MyThought]

如果我可以暂停音频1秒,这会将音频0.00s移动到1.00秒,它将同步。但我不知道我可以为这种方法改变的代码。请帮忙!

My Notes

1 个答案:

答案 0 :(得分:0)

我首先假设您正在使用MediaCodec编码器并将输出馈送到MediaMuxer以生成视频文件。

听起来这可能与我在this question中遇到的类似问题有关。我相信音频MediaCodec编码器基本上会忽略你抛出的任何时间戳;所以我不认为更改音频时间戳可以解决您的问题。但是,听起来你可以通过在帧离开编码器之后但在它到达复用器之前将视频帧时间戳更正为更早的时间(与音频同步)来解决问题。