[gst-devel] How to save incoming h264 stream without re-encoding?

Francis Rammeloo francis.rammeloo at gmail.com
Sun Feb 21 22:56:11 CET 2010


2010/2/18 Francis Rammeloo <francis.rammeloo at gmail.com>:
> I would like to be able to save a incoming H264 stream (video only, no
> audio) to a file on disk.  I've created the following pipeline:
>
> gst-launch -v udpsrc port=4444 num-buffers=500 !
> application/x-rtp,media=\(string\)video,clock-rate=\(int\)90000,encoding-name=\(string\)H264
> ! .recv_rtp_sink_0 gstrtpbin ! rtpmp2tdepay ! mpegtsdemux ! mp4mux !
> filesink location=test.mp4
>
> But that doesn't seem to work: the pipeline never stops despite being
> limited to 500 buffers, and the file stays at 0 KB filesize.
>

Clarification: the video stream I am trying to record is a screen capture.

I created a workaround by sending the original stream as a *lossless*
h264 and the do the decoding, re-encoding and muxing at the receiving
end. This results in a good quality capture because it avoids the
quality loss from multiple encoding. However, the cost is in bandwidth
because lossless video has very high bitrates. Currently this
workaround only works for screen captures of 800x600 resolutions
maximum.

If anyone knows a that allows the receiver to directly mux the
incoming stream without having to do the decoding and re-encoding then
that would be great.

Grts,
Francis




More information about the gstreamer-devel mailing list