Я не могу понять, как я могу буферизовать живое аудио таким образом, чтобы у меня был непрерывный поток аудио. Очевидно, это возможно и было решено миллион раз. Но я все еще не могу понять это. Каждый сценарий, через который я прохожу, в какой-то момент имеет пустой буфер, поскольку я не могу воспроизводить звук достаточно быстро.
Учтите, что каждую ~ 1 секунду я могу производить, получать и буферизовать 960 мс аудио. Аудио в формате WAV, но изначально пришло из RTP, поэтому потребовалось время для преобразования в WAV и отправки через веб-сокет. Если я немедленно воспроизведу этот звук на веб-плеере, он будет воспроизводиться в течение 960 мс, с промежутком в 40 мс и воспроизведением еще 960 мс. Это связано с тем, что, как уже говорилось, для конвертации и передачи живого звука требуется около 1 секунды. В этом случае я буферизирую на приемнике, я должен буферизовать на источнике? Может ли это иметь какое-то значение?
Итак, допустим, сначала я буферизую несколько аудиосэмплов. В какой-то момент у меня все равно останется переполнение буфера; все, что я могу сделать, это немного отложить это. Как тогда любая система может транслировать живое аудио или видео? Ни одна система не может генерировать живое видео 4k без каких-либо задержек между каждым пакетом. Нет никакого способа, чтобы 1-секундный 4k-видеофайл не занимал более 1 секунды, поэтому как можно решить эту проблему?
Такое ощущение, что я упускаю что-то очевидное.