Записать данные потока RTP в файл - PullRequest
0 голосов
/ 05 марта 2012

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 05 марта 2012

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

0 голосов
/ 23 марта 2012

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

Как обработать необработанные пакеты UDP, чтобы они могли быть декодированы фильтром декодера в фильтре источника DirectShow

...