Как использовать версию gstreamer и wireshark для Windows, чтобы взять файл .pcap и извлечь H.264 из RTP? - PullRequest
2 голосов
/ 16 января 2012

У меня есть файл pcap, содержащий захват RTP с видео H.264 и SIP с SDP.Я хотел бы иметь возможность извлечь видео из потока RTP и сохранить его в файл.(h264video.mkv или что-то подобное)

Я начал рассматривать gstreamer как возможное решение для этого, но у меня возникают проблемы при устранении неполадок с любым выводом, полученным из программы.

gst-launch -v     filesrc location=testh264.rtp     
! application/x-rtp,media=video,clock-rate=90000,payload=123,encoding-name=H264     
! rtph264depay                   
! ffdec_h264                     
! xvimagesink

Вот пример того, что я пробовал, но я не могу получить через rtph264depay, потому что файл, который я отправляю, имеет неверный формат.Что я могу сделать, чтобы извлечь полезную нагрузку h264 из моего файла pcap для использования с gstreamer / rtph264depay?

Ответы [ 3 ]

2 голосов
/ 17 января 2012

Проблема в том, что файл pcap не содержит необработанных полезных данных RTP, он каким-то образом отформатирован ( вот как ).
Вы можете извлекать необработанные данные с помощью pcapparse plugin :

$ gst-launch filesrc location=testh264.rtp
    ! pcapparse
    ! application/x-rtp,media=video,clock-rate=90000,payload=123,encoding-name=H264     
    ! rtph264depay ! ffdec_h264
    ! autovideosink
1 голос
/ 16 января 2012

У вас должен быть доступный autovideosink, который автоматически выберет правильный видео сток для вас.В противном случае это, вероятно, что-то вроде «dshowsink».Попробуйте gst-inspect во время поиска его для dshow или directshow, и он должен сказать вам, что использовать.

0 голосов
/ 05 марта 2015

Я вижу, что этот пост старый, но у меня была та же проблема, и вот мой конвейер, который работает (используя gstreamer-1.0):

C:\gstreamer\1.0\x86_64\bin>gst-launch-1.0.exe -m -v filesrc location=C:/Work/log.pcap ! pcapparse src-port=7000 caps="application/x-rtp,media=video,payload=96,clock-rate=90000,encoding-name=H264,profile-level-id=4d0029,sprop-parameter-sets=\"Z00AKeKQFoe2BqwYBBuHiRFQ,aO48gA==\"" ! rtph264depay ! video/x-h264, width=740, height=480, framerate=(fraction)15/1 ! avdec_h264 ! avimux ! filesink location=C:/Work/out.avi

Наборы параметров sprop, которые я получил из файла SDP для камеры, отправившей поток rtp.

...