【发布时间】:2016-04-09 09:42:34
【问题描述】:
简介
我正在为舞蹈比赛创建一个多通道 ASIO 音频和视频记录器。视频和音频流必须完全同步。主要障碍是我无法访问真实设备 (Steinberg UR44),所以我使用 ASIO4ALL,而我的设备客户端只是向我发送日志。
问题
在我的机器上使用 ASIO4ALL,我有理想的同步,但客户端与设备的延迟随着时间的推移而增长。下面是我检测缓冲区丢失的方法:日志显示2482 调用AsioOut.AudioAvailable 事件处理程序;录制会话持续时间为35.133 秒;缓冲区大小:512;格式:16 bit PCM, 44kHz, 1 channel.
因此:理论上会发生35.133 x 44100 / 512 = 3026 呼叫,但客户端只有2482,因此他丢失了~20% 的音频数据。这就是为什么输出的音频文件只有28.003 秒的时长(~20% 小于录制会话时长),这就是为什么在音视频同步中出现随时间延迟而增长的原因。
问题:这个计算和结论正确吗?
【问题讨论】: