У меня есть сервер, который передает данные PCM клиента или ADPCM.Веб-аудио Api Realtime streaming PCM ADPCM
Первоначально я решил использовать PCM, потому что я не хотел иметь дело с кодированием и декодированием.
я получил PCM работать, однако между каждым куском аудио я слышал глюков. (Вроде как отсечение)
Так что я подумал, может быть, причина задержки/высокое качество звука и все прочее.
Поэтому я решил использовать ADPCM для уменьшения объема данных. Я написал adpcm для pcm-декодера в javascript. Это был хлопот. Я надеялся, что, поскольку количество данных уменьшилось, возможно, это остановит глюки (данные будут догонять то, что воспроизводится)
Но я был неправ. У меня все еще есть глюки.
Можно ли это сделать с помощью TCP? Или это потерянное дело. У меня нет UDP через websockets.
Нужно ли мне реализовать алгоритм буферизации? Я не хочу делать это, поскольку это аудио в реальном времени, и я просто хочу обрабатывать его как можно быстрее.
Вы, ребята, знаете хорошую ссылку, чтобы читать о аудио в реальном времени через Интернет.
Я могу привести пример кода, но это вопрос высокого уровня.
PS: Я пытался использовать вкладки, но мы получаем проблему с буферизацией, и мы не можем ее контролировать. Я также не получаю никакого контроля потока с сервера. Он не говорит, что звуковой стартер или аудио остановили нашу паузу. Это протокол push, и все, что я получаю, это данные ADPCM и PCM.
Если вам требуется в режиме реального времени (т. Е. Низкая латентность), то TCP не является хорошим выбором. –