Как получить данные H263/H264 из файла pcap.

Я пробовал такие инструменты, как videosnarf, которые принимают файл pcap в качестве входных данных и создают необработанный файл .h264, который позже можно было бы закодировать с помощью ffmpeg и, наконец, воспроизвести с помощью vlc player. Но videonarf может обрабатывать только данные h264.

Я не могу найти аналогичный инструмент, который может сбрасывать данные h263 из файла pcap. Я пытался декодировать поток h263 из wirehark, но пока мне не повезло.

Я могу программировать на perl/python, но я не знаю, какие именно шаги нужно выполнить, чтобы получить необработанные данные h263 из файла pcap, поскольку раньше я не играл с файлами захвата pcap.


person sjd    schedule 23.11.2010    source источник
comment
Кажется действительно странным. Зачем вам это нужно? Скорее всего, потому что это настолько ниша, что ее не существует. Но источник открыт! Если вам это нужно, вы должны либо добавить его, либо попросить кого-то еще.   -  person OmnipotentEntity    schedule 23.11.2010
comment
ну, единственная причина, по которой я пытаюсь получить видеоданные из pcap, - это узнать качество передачи видео на принимающей стороне по сравнению с эталонным видео, используемым во время передачи.   -  person sjd    schedule 23.11.2010


Ответы (1)


sjd, вы можете попробовать настроить сниффер с помощью библиотеки Twisted Python (Twisted), это позволит вам захватывать сырой данные, поступающие по вашей сети, пока вы можете указать Twisted, какой порт слушать (или слушать все), и куда сбросить файл, и т. д., а затем сделать что-то с этим новым файлом (например, отправить его в ffmpeg для проверки сохранения в .mov).

Вам нужно будет сгенерировать файл .sdp для ffmpeg, поэтому, если вы не автоматизируете этот шаг процесса, это действительно раздражает. В настоящее время я работаю над частью автоматизации, но так же борюсь.

Я использую EventMachine для Ruby с FFMPEG и .sdp из SIP.

Надеюсь, это немного поможет.

person newfront    schedule 08.03.2011
comment
@sjd спасибо за комментарий. Одна вещь, которую я сделал, это просто удалил заголовки RTP из файла pcap. Это легко сделать для h263, нужно только знать, с чем работаешь. Вы можете получить необработанные данные кадра h263, разделив заголовок RTP и добавив 0000 к данным полезной нагрузки. (пакетирование rtp требует удаления начальных 4 нулей из кадра) Вот анализатор заголовков rtp для пакетов RTP (вы можете легко получить их с помощью wireshark). github.com/newfront/dailyhacking/blob/master/source/ СМИ/. (рубиновый код, но его несложно перевести на python). - person newfront; 01.07.2011