The latency problem of Streaming h264 video through TCP

Yasushi SHOJI yasushi.shoji at
Tue Nov 7 12:00:04 UTC 2017


On Thu, Oct 26, 2017 at 6:05 AM, Jiaqi Gao <gaojiaqi0 at> wrote:
> Sender:
> gst-launch-1.0 playbin uri=file:///[video-path] video-sink="x264enc
> tune=zetolatency ! tcpclientsink port=9999 host=localhost"
> Receiver:
> gst-launch-1.0 tcpserversrc port=9999 host=localhost ! h264parse !
> avdec_h264 ! videoconvert ! avenc_bmp ! multifilesink location=[path]
> The reason I have to use playbin is I want the sender to act like a camera
> and output video at specific frame rate (such as 5fps).

videorate usable for you?

> The whole pipeline works fine, but the problem is h264parse doesn't output
> one frame until it receives the information of next frame. This means if I
> have a 5fps video, the latency is at least 1/5=200ms. I don't have this
> problem when I'm streaming through UDP.

what pipeline did you use for UDP?

> Does anyone has any idea to reduce the latency and let h264parse output the
> frame as long as it receives the whole frame?

how about using only I frames?

More information about the gstreamer-devel mailing list