Записать потоковые данные RTP в файл

Я написал приложение, которое запускает IP-камеру для потоковой передачи данных (MPEG4) через RTP. Пока это работает нормально — я начинаю настройку и запускаю поток с помощью соответствующих команд RTSP ( DESCRIBE , SETUP и PLAY ).

При стриме я получаю обычные Sender Reports и отправляю свои Receiver Reports - Здесь все работает нормально.

Теперь с упомянутым выше приложением я НЕ читаю поток. У меня есть отдельное оборудование, которое просто регистрирует все, что происходит через Ethernet (немного похоже на Wireshark). Теперь, когда вся потоковая передача завершена, я могу загрузить эти журналы со своего оборудования и извлечь из них данные.

Итак, у меня есть файл журнала со всеми данными из потока RTP в виде необработанных данных.

Теперь мой вопрос: как правильно записать это в файл MPEG4? Я знаю, что это очень широкий вопрос, и я не ожидаю получить пошаговое руководство. Но на самом деле я немного ошеломлен и не знаю, с чего начать. Если я просто memcpy всю полезную нагрузку из сообщений RTP последовательно в файл MPEG4, это не сработает. Теперь я также немного смущен SDP и прочим. Ну, может быть, у кого-то есть ссылка или какая-то помощь для меня ..?


person Toby    schedule 05.03.2012    source источник
comment
Вам может быть интересна эта тема: stackoverflow.com/questions/7740265/   -  person nodakai    schedule 05.03.2012


Ответы (2)


Сначала следует прочитать RFC3016, в котором описывается формат RTP потока MPEG-4, а затем научитесь извлекать кадры MPEG-4 из потока RTP.

person ciphor    schedule 05.03.2012

На самом деле я перешел с MPEG4 на H.264 - на самом деле было немного проще писать такой видеофайл. Для H.264 этот ответ в значительной степени охватывает это:

Как обрабатывать необработанные UDP-пакеты, чтобы их можно было декодировать фильтром декодера в фильтре источника directshow

person Toby    schedule 23.03.2012