Gstreamer pipeline through OpenCV for H264 encoded video file

Martin Vachovski Martin.Vachovski at skytek.com
Fri Aug 25 11:34:04 UTC 2017


Hi Simon,


>>> Thank you for your suggestion, however, it still fails, and no error is reported.

If you're running the pipeline from a C/C++ program, you can pass the --gst-debug-level option to the

gst_init()

function


int argc = 3;
char **argv = new char*[argc];
argv[0] = "appname";
argv[1] = "--gst-debug-level=X";
argv[2] = "--gst-debug-no-color";

gst_init(&argc, &argv);

where X is a number from 0 to 9, 9 being the highest level- then you'll see a lot of errors on stderr (even overwhelming)

Anyway, recently I managed to make the following pipeline work:

"appsrc name=appsrc_element block=true format=3 ! video/x-raw,format=YUY2,width=320,height=240,framerate=30/1 ! "
"videoconvert ! x264enc tune=zerolatency bitrate=4096 ! video/x-h264,profile=\"high-4:4:4\" ! rtph264pay ! udpsink host=192.168.168.98 port=10000"

It does something similar to what you're trying to achieve- only transmits over the network instead of saving to a file.
As an advice try first replacing the whole H264 encoding part with a autovideosink- that way you'll
make sure that the video you import from the appsrc is working, something like:

"appsrc name=appsrc_element block=true format=3 ! video/x-raw,format=YUY2,width=320,height=240,framerate=30/1 ! "
"videoconvert ! autovideosink"

When this pipeline works, proceed with adding more elements

Hope that helps
Martin




________________________________
From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> on behalf of simo zz <simon.zz at yahoo.com>
Sent: Friday, August 25, 2017 12:10 PM
To: Discussion of the development of and with GStreamer
Subject: Re: Gstreamer pipeline through OpenCV for H264 encoded video file

Hello Martin,

Thank you for your suggestion, however, it still fails, and no error is reported.

Regards,
Simon


El Viernes 25 de agosto de 2017 12:13, Martin Vachovski <Martin.Vachovski at skytek.com> escribió:


Sorry... didn't mean to omit the autovideoconvert...

The pipeline I meant is to be read:

appsrc ! video/x-raw,format=YUY2,width=320,height=240,framerate=30/1 ! autovideoconvert ​!  v4l2video1h264enc  ....

Cheers
Martin

________________________________
From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> on behalf of Martin Vachovski <Martin.Vachovski at skytek.com>
Sent: Friday, August 25, 2017 11:09 AM
To: gstreamer-devel at lists.freedesktop.org; simo zz
Subject: Re: Gstreamer pipeline through OpenCV for H264 encoded video file

One quick thing I can suggest is to try to specify the CAPS before the autovideoconvert element.
Otherwise there might be problems with the negotiation and starting of the pipeline
something like:

appsrc ! video/x-raw,format=YUY2,width=320,height=240,framerate=30/1 !   v4l2video1h264enc  ....

Or whatever format you're getting the videoframes  in from the appsrc, try to specify as many details as possible

Cheers
Martin

________________________________
From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> on behalf of simo zz <simon.zz at yahoo.com>
Sent: Friday, August 25, 2017 10:58 AM
To: gstreamer-devel at lists.freedesktop.org
Subject: Gstreamer pipeline through OpenCV for H264 encoded video file

Hi all,

I am working on an IP application working with OpenCV and I need to generate an H264 encoded videos.
OpenCV uses GStramer to for this task, initializing the OpenCV VideoWriter object with a GStramer pipeline. In turns it should passthe frames GStramer which should write the video..

The actual pipeline I am using for this task:

"appsrc ! autovideoconvert ! v4l2video1h264enc extra-controls=\"encode,h264_level=10,h264_profile=4,frame_level_rate_control_enable=1,video_bitrate=2000000\" ! h264parse ! rtph264pay config-interval=1 pt=96 ! filesink location=file.pm4"

But it's neither generating the video. I tried many pipelines without successful results..
What is the correct pipeline I must use ?

Thank you in advance,
Regards,
Simon
_______________________________________________
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/20170825/c88e6fe8/attachment.html>


More information about the gstreamer-devel mailing list