Gstreamer. Multiple pcap to avi

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer. Multiple pcap to avi

BogdanS
I have multiple .pcap files 01.pcap, 02.pcap,...N.pcap, they includes two streams, Audio-G.711 Video-H.264. Every pcap has ~1 min of streaming And I need to make one .avi. I use mergecap.exe to concatenate pcaps to one big pcap.

mergecap.exe -F pcap 01.pcap 02.pcap ....N.pcap -w out.pcap
After that I use gstreamer to make .avi file

gst-launch-1.0 filesrc location=out.pcap ! tee name=t ! pcapparse dst-ip=192.168.2.55 dst-port=5010 ^
        ! application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96 ^
        ! rtpjitterbuffer ^
        ! rtph264depay ^
        ! h264parse ^
        ! queue^
        ! mux. t. ! pcapparse dst-ip=192.168.2.55 dst-port=4010 ^
        ! application/x-rtp, media=(string)audio, clock-rate=(int)8000, encoding-name=(string)PCMA, channels=(int)1, payload=(int)8 ^
        ! rtpjitterbuffer ^
        ! rtppcmadepay ^
        ! queue ^
        ! mux. avimux name=mux ! filesink location=test.avi
This pipeline works for one pcap well.. When I conatenate two .pcaps, it's works too. But if it is more than 2 pacaps-> rtpjitterbuffer drops almost every video packet

...

    0:00:03.856698538 12812   08E3FD28 WARN         rtpjitterbuffer gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> Packet #41238 too late as #57525 was already popped, dropping
    0:00:03.861442222 12812   08E3FD28 WARN         rtpjitterbuffer gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> Packet #41239 too late as #57525 was already popped, dropping
    0:00:03.870865810 12812   08E3FD28 WARN         rtpjitterbuffer gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> Packet #41240 too late as #57525 was already popped, dropping
    0:00:03.876392403 12812   08E3FD28 WARN         rtpjitterbuffer gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> Packet #41241 too late as #57525 was already popped, dropping

and continues...
and continues...
and continues...
...

I was trying :

Change latency in rtpjitterbuffer
Remove rtpjitterbuffer
Don't use tee
Your suggestions why this is happening? I remind you that everything works up to two pcap's. No matter what pcaps 1 with 2 or 5 with 6 or ...
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer. Multiple pcap to avi

Vivia Nikolaidou
Hi,

It looks like some files are out of order, or rtpjitterbuffer thinks
so. Instead of using mergecap, try having GStreamer read each separate
pcap file with multifilesrc and see if the problem persists.

Also, maybe some pcap files are corrupt? Try skipping a few files when
merging them (e.g. the first two?) and see if you can get it to work.

Best regards,

Vivia

On 13 September 2016 at 00:50, BogdanS <[hidden email]> wrote:

> I have multiple .pcap files 01.pcap, 02.pcap,...N.pcap, they includes two
> streams, Audio-G.711 Video-H.264. Every pcap has ~1 min of streaming And I
> need to make one .avi. I use mergecap.exe to concatenate pcaps to one big
> pcap.
>
> mergecap.exe -F pcap 01.pcap 02.pcap ....N.pcap -w out.pcap
> After that I use gstreamer to make .avi file
>
> *gst-launch-1.0 filesrc location=out.pcap ! tee name=t ! pcapparse
> dst-ip=192.168.2.55 dst-port=5010 ^
>         ! application/x-rtp, media=(string)video, clock-rate=(int)90000,
> encoding-name=(string)H264, payload=(int)96 ^
>         ! rtpjitterbuffer ^
>         ! rtph264depay ^
>         ! h264parse ^
>         ! queue^
>         ! mux. t. ! pcapparse dst-ip=192.168.2.55 dst-port=4010 ^
>         ! application/x-rtp, media=(string)audio, clock-rate=(int)8000,
> encoding-name=(string)PCMA, channels=(int)1, payload=(int)8 ^
>         ! rtpjitterbuffer ^
>         ! rtppcmadepay ^
>         ! queue ^
>         ! mux. avimux name=mux ! filesink location=test.avi
> *This pipeline works for one pcap well.. When I conatenate two .pcaps, it's
> works too. But if it is more than 2 pacaps-> rtpjitterbuffer drops almost
> every video packet
>
> ...
>
>     0:00:03.856698538 12812   08E3FD28 WARN         rtpjitterbuffer
> gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0>
> Packet #41238 too late as #57525 was already popped, dropping
>     0:00:03.861442222 12812   08E3FD28 WARN         rtpjitterbuffer
> gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0>
> Packet #41239 too late as #57525 was already popped, dropping
>     0:00:03.870865810 12812   08E3FD28 WARN         rtpjitterbuffer
> gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0>
> Packet #41240 too late as #57525 was already popped, dropping
>     0:00:03.876392403 12812   08E3FD28 WARN         rtpjitterbuffer
> gstrtpjitterbuffer.c:2163:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0>
> Packet #41241 too late as #57525 was already popped, dropping
>
> and continues...
> and continues...
> and continues...
> ...
>
> I was trying :
>
> Change latency in rtpjitterbuffer
> Remove rtpjitterbuffer
> Don't use tee
> Your suggestions why this is happening? I remind you that everything works
> up to two pcap's. No matter what pcaps 1 with 2 or 5 with 6 or ...
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Gstreamer-Multiple-pcap-to-avi-tp4679545.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel