Разбор RTMP с несколькими аудио-видео сессиями в pcap - PullRequest
1 голос
/ 07 июля 2011

Мне нужно написать анализатор RTMP, который будет обрабатывать захваченные пакеты из потока RTMP на wireshark, и я извлеку данные из pcap.

Я ознакомился со спецификациями и могу понять процесс рукопожатия, а также определить местонахождение мультимедиа в пакетах TCP, но я запутался в случае нескольких сеансов аудио / видео, которые чередуются в одном pcap, как мы может обрабатывать это при разборе, чтобы наш парсер мог одновременно анализировать несколько потоков. Любая уникальность будет очень полезна для одновременного анализа различных потоков RTMP.

РЕДАКТИРОВАТЬ (после ответа @Martin Redmond): да, я могу выяснить, но кажется, что некоторые данные FLV передаются через RTMp, но этот заголовок FLV отсутствует, и, кажется, что происходит другое рукопожатие, и данные FLV потоковая передача по одному и тому же IP с разных портов. Таким образом, я не могу найти, является ли это реальным FLV-файлом или только заголовком, как будто я извлекаю только заголовок и другие данные, я не могу сделать из него FLV-файл.

Любой способ проверить или извлечь носитель из этого потока RTMP ???

1 Ответ

1 голос
/ 07 июля 2011

Информация заголовка для каждого блока данных позволяет вам определить, к какому потоку принадлежит блок. Это не прямо вперед, хотя. Информация заголовка сжимается, и соответствующая информация может быть отправлена ​​только в начале потока, поэтому вам необходим контекст для каждого блока.

Важной частью является русло. Видео и аудио из одного и того же источника будут иметь одинаковый поток, но будут иметь разные номера каналов и типы данных.

В спец. streamid называется id потока сообщений (раздел 6.1.2.1) и отправляется только с заголовком типа 0.

...