Hi All,
I am using gstreamer-1.10.4 on rhel-7.1 with gst-plugins-good-1.10.4 gst-plugins-ugly-1.10.4 gstreamer1-libav-1.2.4-4.el7.x86_64 x264-libs-0.148-11.20160614gita5e06b9.el7.x86_64 and compiled the tutorial.c programme with this command #include <gst/gst.h> #include <glib.h> #include <stdio.h> #include <glib-object.h> static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer data) { GMainLoop *loop = (GMainLoop *) data; switch (GST_MESSAGE_TYPE (msg)) { case GST_MESSAGE_EOS: g_print ("End of stream\n"); g_main_loop_quit (loop); break; case GST_MESSAGE_ERROR: { gchar *debug; GError *error; gst_message_parse_error (msg, &error, &debug); g_free (debug); g_printerr ("Error: %s\n", error->message); g_error_free (error); g_main_loop_quit (loop); break; } default: break; } return TRUE; } int main (int argc, char *argv[]) { GMainLoop *loop; GstElement *pipeline, *source, *filter, *vrate, *encoder, *conv, *sink; GstBus *bus; GstCaps *filtercaps; gint width, height, num, denom; const GstStructure *str; /* Initialisation */ gst_init (&argc, &argv); loop = g_main_loop_new (NULL, FALSE); /* Create gstreamer elements */ pipeline = gst_pipeline_new ("video-player"); g_assert(pipeline); source = gst_element_factory_make ("v4l2src", "file-source"); g_assert(source); vrate = gst_element_factory_make ("videorate", "video-rate"); g_assert(vrate); filter = gst_element_factory_make ("capsfilter", "filter"); g_assert(filter); encoder = gst_element_factory_make ("x264","encoder"); g_assert(encoder); sink = gst_element_factory_make ("udpsink","audio-output"); g_assert(sink); pipeline = gst_parse_launch("v4l2src device=/dev/video0 ! xvimagesink",NULL); if (!pipeline || !source || !filter || !vrate || !encoder || !sink) { g_printerr ("One element could not be created. Exiting.\n"); return -1; } filtercaps = gst_caps_new_simple ("video/x-raw-yuv","width", G_TYPE_INT, 640,"height", G_TYPE_INT, 480,"framerate", GST_TYPE_FRACTION, 30, 1, NULL); g_object_set (G_OBJECT (filter), "caps", filtercaps, NULL); gst_caps_unref (filtercaps); g_object_set (G_OBJECT (encoder), "bitrate" , 384 , NULL); //g_object_set (G_OBJECT (sink), "host" , argv[1] , NULL); // g_object_set (G_OBJECT (sink), "host" , "192.168.3.204" , NULL); g_object_set (G_OBJECT (sink), "host" , "127.0.0.1" , NULL); g_object_set (G_OBJECT (sink), "port" , 8999 , NULL); g_object_set (G_OBJECT (sink), "async" , FALSE , NULL); bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); gst_bus_add_watch (bus, bus_call, loop); gst_object_unref (bus); gst_bin_add_many (GST_BIN (pipeline), source, vrate, filter, encoder, sink, NULL); gst_element_link_many (source, vrate, filter, encoder, sink, NULL); g_print ("Now playing: \n"); gst_element_set_state (pipeline, GST_STATE_PLAYING); gst_caps_set_simple (filtercaps, "width", G_TYPE_INT, 352, "height", G_TYPE_INT, 288, "framerate", GST_TYPE_FRACTION, 15, 1, NULL); gst_element_set_state (pipeline, GST_STATE_PLAYING); } g_print ("Running...\n"); g_main_loop_run (loop); g_print ("Returned, stopping playback\n"); gst_element_set_state (pipeline, GST_STATE_NULL); g_print ("Deleting pipeline\n"); gst_object_unref (GST_OBJECT (pipeline)); return 0; } g++ tutorial1.c -o tutorial1 `pkg-config --cflags --libs gtk+-2.0 gstreamer-1.0 gstreamer-video-1.0` it compiled successfully .But executing the ./tutorial1 fails on x264enc. however, x264 is available on the path /usr/lib64/lib/gstreamer-1.0/libgstx264.so and which is linked witk PKG_CONFIG_PATH Can any body tell me what is the problem here?? -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi gagankumarnigam,
You've got a typo in the element name. On 12/02/18 09:48, gagankumarnigam wrote: > encoder = gst_element_factory_make ("x264","encoder"); You want "x264enc" here. HTH, Charlie. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanx Charlie for reply,
Previously i tried with x264enc and repeatedly facing the same problem of crashing at the same point. After some googling i came to know for gstreamer-1.10.4 x264 can also be used in place of above one but still the condition is same. however the same programme is working fine on Rhel-6.5 with gstreamer-0.10.29. Al Though, x264 is available on the path /usr/lib64/lib/gstreamer-1.0/libgstx264.so and which is linked with PKG_CONFIG_PATH but still............. Any Clue Charlie .... -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |