Video processing(record\play) real time from camera with metadata

Tim Müller tim at centricular.com
Fri Sep 16 16:15:09 UTC 2016


On Fri, 2016-09-16 at 06:49 -0700, Mikl wrote:

Hi,

> For the moment i am doing only video and from test source.
> Here is my pipeline
> videotestsrc ! video/x-
> raw,format=RGB,width=800,height=400,framerate=24/1 ! matroskamux
> ! filesink location=c:\gstreamer\test.mkv
> I have file. It have size (big one). I can see structure
> using MKVToolNix.
> videotestsrc  will be replaced by appsrc.  And i will not
> need capsfilter anymore. 
> 
> But:
> -i can not play it
> -see no information

Yes, it will be very big, because you are storing raw (unencoded) video
frames in the file. If you want to encode them, add a x264enc (for
example) before matroskamux.


> Even when i did simple pipeline
> videotestsrc ! avimux ! filesink location=c:\gstreamer\test.avi
> i was not able to see information about video, navigate in video.
> And it was opened not in all players.

I suspect not all players will be able to handle raw video in AVI.
Also, if you use gst-launch-1.0 (or your own app) you will need to make
sure that you shut down the pipeline 'cleanly', so that the muxer has
an opportunity to finalise the file properly (write indices, fix up the
header, etc.). In gst-launch-1.0 you do that by passing the -e command
line option, or using videotestsrc num-buffers=100 or such. In your
application you would have to send an EOS event on the pipeline with
gst_element_send_event(pipeline, gst_event_new_eos()) and then wait for
an EOS message on the bus before shutting down the pipeline with
gst_element_set_state().

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com

Join us at the GStreamer Conference!
10-11 October 2016 in Berlin,
Germany
http://gstreamer.freedesktop.org/conference/




More information about the gstreamer-devel mailing list