How to send a series of zipped bitmaps files / raw video frames by tcp with gstreamer?

Nicolas Dufresne nicolas at
Mon Jun 15 13:46:40 UTC 2020

Le lundi 15 juin 2020 à 17:28 +0800, F32 a écrit :
> Hi,
> I'm trying to send a series of zipped bitmap files / raw frames over
> network (because it consumes much less cpu than h264).
> The following command works and all files are copied correctly:
> > gst-launch-1.0 multifilesrc location="/dev/shm/1/%05d.bmp" index=1
> ! multifilesink location="%05d.bmp"
> However, when I tried to transfer these files over tcp:
>  > gst-launch-1.0 multifilesrc location="%05d.bmp" index=1 !
> tcpclientsink port=3000
>  > gst-launch-1.0 tcpserversrc port=3000 ! multifilesink
> location="%05d.bmp"
> The result is incorrect. What I got is numerous 4KB files instead of
> large bitmap files.
> I have learned that for raw video over tcp, we need to add a
> "rawvideoparse" element after tcpserversrc, but it does not seem to
> support generic compression (zip, gzip, etc.)
> What is the simplest way to support transferring a series of zipped
> bitmap files / raw video frames by tcp with gstreamer? Do I need to
> extend the rawvideoaprse, write a special zipdec element, or
> something else?

The answer will depend on what you really intend to do. If generic file
transfer is your end goal, this is simply the wrong software ;-P But if
you do have some streaming use cases around that, we can likely help,
assuming we have more details. Of course, when you chose a streaming
method that is not following any existing standard, you might endup
having to implement some elements for it.

> Regards,
> Windy
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list