Структура CLC_VoiceData

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Доброго времени суток. Когда игрок говорит в микрофон он отправляет на сервер пакеты данных (CLC_VoiceData), перед этим они шифруются звуковым кодеком и все это происходит на клиентской стороне. Интересует вопрос, как распарсить звуковые данные не делая им декомпрессию (или может кто подскажет структуру зашифрованных пакетов) и вообще возможно ли это, не используя расширение (так как по факту от него задача только одна - добавить функцию декомпрессии звука в серверную часть), так как серверная часть её не имеет. Игра CS: Source, звуковой кодек CELT.
P.S. Я смотрел документацию на CELT Codec и смотрел структуру CELTEncoder, но по итогу даже не смог увидеть первой переменной в структуре (celt_marker)
 

Napas

Участник
Сообщения
832
Реакции
667
Распарсить данные только декомпресией можно, тк. как ты переводишь все в чистый PCM, а c помощью PCM делаешь все что хочешь.
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Распарсить данные только декомпресией можно, тк. как ты переводишь все в чистый PCM, а c помощью PCM делаешь все что хочешь.
Понял, но ведь порядок данных который получается у компрессии же тоже не просто какой-то хаотичный набор байтов, или я чего-то не понимаю ...
p.s. До этого момента со звуком никогда не работал, поэтому мои познания в данной области слабы
 

Napas

Участник
Сообщения
832
Реакции
667
PCM 512 байт, это обычная синусойда, там байты будут рандомные. CELT 64 байта, это просто тип сжатия с потярями, там тоже все будет рандом.
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
PCM 512 байт, это обычная синусойда, там байты будут рандомные. CELT 64 байта, это просто тип сжатия с потярями, там тоже все будет рандом.
В RAW данных по итогу я только одно место в коде увидел, где байт равен константе (самый первый в котором начинаются данные), может это какой то маркер для чтения или хз что.
В любом случае спасибо, узнал новую информацию, буду уже дальше сам.
 
Сверху Снизу