Как включить все AudioFormat в последовательность RTP? - PullRequest
0 голосов
/ 21 января 2019

Я работаю над проектом Java, и моя цель - передавать звук по протоколу RTP. Для начала я написал некоторый код для генерации заголовка, следуя указаниям, найденным в wikipedia .

Но теперь у меня много вопросов о полезных данных: что мне отправлять? Я выбрал тип полезной нагрузки 10 для потоковой передачи звука в формате wav с частотой дискретизации 44,100 Гц в стерео.

Но для чтения аудио на Java и, возможно, в любом читателе нужна другая информация:

  • метод кодирования звука (например: PCM_SIGNED)
  • размер выборки в битах (например: 16 бит)
  • каналов: 2, вычитается по типу полезной нагрузки
  • размер кадра (16 бит * 2 канала = 32 бита = 4 байта)
  • частота кадров (предполагается, что она равна частоте дискретизации)
  • порядковый номер (например: little endian)

Вся эта информация поступает с объектом с именем AudioFormat. Но как отправить эту информацию с моей полезной нагрузкой? Во-первых, мой приемник, вероятно, не написан на Java, поэтому я сомневаюсь, что он понимает объект AudioFormat. И даже если он написан на Java, как указать, что первая часть полезной нагрузки является объектом AudioFormat, а затем необработанными данными?

Полагаю, есть "универсальный" способ отправки этой информации, но я ничего не нашел в Google. Не могли бы вы дать мне несколько советов?

...