Доброго всем дня!
Суть вопроса: пытаюсь разобраться как правильно передавать по сети пакеты RTP содержащие в себе аудио данные. Формат данных: PCM 8000 Hz 16 bit mono. Разобрался, что это payload type 11 (L16 linear PCM), но вот как по фэншую правильно сформировать RTP пакет не пойму. Вдумчивое чтение rfc2198 и других источников не помогает. Сейчас делаю так: после RTP заголовка вставляю байт BlockPT (тип 11 - 0x0b) со сброшенным в 0 старшим битом (primary block) и дальше непосредственно кусочек аудио данных. В таком виде VLC принимает поток и корректно его воспроизводит, я слышу то, что отправляю (использую осмысленный музыкальный фрагмент). Напрягает два момента: - при передаче пакетов, заполненных нулями слышу слабые щелчки; - при анализе пакетов Wireshark -ом сохранение потока в файл показывает, что щелчки эти происходят от того, что байт BlockPT тоже интерпретируется как аудио данные. Если кто знает, как правильно формировать для моего случая пакеты, пожалуйста, подскажите. P.S. rfc3551, rfc2586, rfc2198 и все причастные ответа не дали.
|