Tee and pad programming

Michael Gruner michael.gruner at ridgerun.com
Wed Jun 6 17:05:02 UTC 2018


Hi Akmal

Another easy approach is to use gst_parse_launch:

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch

You can build the pipeline using the same description as the one you would use with gst-launch. 

Michael

> On Jun 6, 2018, at 10:46, Ian Davidson <id012c3076 at blueyonder.co.uk> wrote:
> 
> Hi Akmal,
> 
> That pipeline indicates that there is no link between filesink and nvcamerasrc.  So, filesink is the end of a line and nvcamerasrc is the start of a new line.
> 
> The same thing happens after  h264parse ! mux.video_0
> 
> Ian
> 
>> On 06/06/18 13:10, Akmal Hisyam wrote:
>> Hello GStreamer Team!
>> 
>> I referred to this webpage https://www.jetsonhacks.com/2014/10/28/gstreamer-network-video-stream-save-file/ on how to get preview, how to do recording and how to send stream to network by TCP.
>> 
>> As I'm on Jetson TX2, I tried the pipeline with 'nvcamerasrc' as the video source element and it works! I also modified the pipeline for video recording and for sending stream over network by TCP only without the preview queue. So, it goes like this :
>> 
>> gst-launch-1.0 avimux name=mux
>> ! filesink location=/media/nvidia/SSDJetson/test.mp4 nvcamerasrc fpsRange="30.0 30.0"
>> ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! omxh264enc bitrate=14000000 control-rate=variable ! tee name=tsplit
>> ! queue ! h264parse ! mux.video_0 tsplit.
>> ! queue ! h264parse ! queue ! matroskamux
>> ! queue leaky=2 ! tcpserversink host=192.x.x.x port=7001
>> 
>> Thanks to this guide, I managed to launch this on command line. I'm used to transform gstreamer pipeline into C/C++ programming code but I'm still a beginner. However, this is my first time I saw this form of pipeline where it starts with the muxer and then the "filesink" and "nvcamerasrc" elements are bordered in the same "! ...!" like this "! filesink location=/media/nvidia/SSDJetson/test.mp4 nvcamerasrc fpsRange="30.0 30.0" !". I'm not familiar at all with this form of pipeline but I wanted to transform this into code.
>> 
>> I have two problems, I don't know how to create the "filesink" and "nvcamerasrc" elements in the same 'gst_element_factory_make'.
>> Plus, I don't know how to transform "mux.video_0 tsplit." to code.
>> 
>> Do you have any examples on this? So far, I haven't managed to find any code examples related to this on internet.
>> 
>> Thanks in advance!
>> 
>> Akmal
>> 
>> 
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180606/3d61a718/attachment-0001.html>


More information about the gstreamer-devel mailing list