<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: GStreamer</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/GStreamer/m-p/449952#M69655</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in fact, for capture raw audio and raw video, you can use gstreamer directly, you can refer to the source code of freescale gstreamer, and follow the command as below:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;gst-launch videotestsrc num-buffers=250 ! 'video/x-raw-yuv,format=(fourcc)I420,width=320,height=240,framerate=(fraction)25/1' ! queue ! mux. audiotestsrc num-buffers=440 ! audioconvert ! 'audio/x-raw-int,rate=44100,channels=2' ! queue ! mux. avimux name=mux ! filesink location=test.avi&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 May 2015 08:10:43 GMT</pubDate>
    <dc:creator>joanxie</dc:creator>
    <dc:date>2015-05-28T08:10:43Z</dc:date>
    <item>
      <title>GStreamer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GStreamer/m-p/449951#M69654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi i wrote GStreamer C application for my following working GStreamer command to record video with audio&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst-launch –e mfw_v4lsrc capture-mode=1 fps-n=30 ! vpuenc codec=0 ! queue ! mux. alsasrc ! 'audio/x-raw-int,rate=48000,channels=1' ! mfw_mp3encoder ! queue ! mux. avimux name=mux ! filesink location=audio_video.avi sync=false.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is my main code.The following code records only video.But audio is not capturing.Where i did wrong.Please kindly correct my mistake.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int&lt;/P&gt;&lt;P&gt;main (int&amp;nbsp;&amp;nbsp; argc,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char *argv[])&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; GMainLoop *loop;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GstElement *pipeline,*video_source, *video_encoder, *video_queue,*audio_source,*audio_encoder,*audio_queue,*audio_muxer, *sink, *filter;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //GstElement *pipeline, *source, *encoder, *sink;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GstBus *bus;&lt;/P&gt;&lt;P&gt;&amp;nbsp; guint bus_watch_id;&lt;/P&gt;&lt;P&gt;//GstCaps *caps = gst_caps_new_empty(); &lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_init (&amp;amp;argc, &amp;amp;argv);&lt;/P&gt;&lt;P&gt;GstCaps *audio_caps;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; loop = g_main_loop_new (NULL, FALSE);&lt;/P&gt;&lt;P&gt;if(argc !=2)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt; g_printerr ("Usage: %s &amp;lt;Ogg/Vorbis filename&amp;gt;\n", argv[0]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;/* Pipeline create */&lt;/P&gt;&lt;P&gt;pipeline&amp;nbsp; = gst_pipeline_new("pipeline");&lt;/P&gt;&lt;P&gt;/*video source */&lt;/P&gt;&lt;P&gt;video_source&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("mfw_v4lsrc", "video_source");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*codec encoder */&lt;/P&gt;&lt;P&gt;video_encoder&amp;nbsp;&amp;nbsp; = gst_element_factory_make("vpuenc", "video_encoder");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*queue for video */&lt;/P&gt;&lt;P&gt;video_queue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("queue", "video_queue");&lt;/P&gt;&lt;P&gt;/*audio source */&lt;/P&gt;&lt;P&gt;audio_source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("alsasrc","audio_source");&lt;/P&gt;&lt;P&gt;filter&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("capsfilter", "filter");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*audio encoder */&lt;/P&gt;&lt;P&gt;audio_encoder&amp;nbsp;&amp;nbsp; = gst_element_factory_make("mfw_mp3encoder", "audio_encoder");&lt;/P&gt;&lt;P&gt;/*audio queue */&lt;/P&gt;&lt;P&gt;audio_queue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("queue", "audio_queue");&lt;/P&gt;&lt;P&gt;/*muxer*/&lt;/P&gt;&lt;P&gt;audio_muxer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("avimux","audio_muxer");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = gst_element_factory_make("filesink", "sink");&lt;/P&gt;&lt;P&gt;g_object_set (G_OBJECT (sink), "location",argv[1], NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_object_set(G_OBJECT (sink),"sync",FALSE,NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;audio_caps = gst_caps_new_simple("audio/x-raw-int",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rate", G_TYPE_INT,44100,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "channels",G_TYPE_INT,1,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL);&lt;/P&gt;&lt;P&gt;g_object_set (G_OBJECT (filter), "caps", audio_caps, NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_object_set (G_OBJECT (video_source), "capture-mode", 1, NULL);&lt;/P&gt;&lt;P&gt;g_object_set (G_OBJECT (video_source), "fps-n", 30, NULL);&lt;/P&gt;&lt;P&gt;g_object_set (G_OBJECT (video_encoder),"codec", 0 , NULL);&lt;/P&gt;&lt;P&gt;g_object_set (G_OBJECT (sink), "location",argv[1], NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_object_set(G_OBJECT (sink),"sync",FALSE,NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(!pipeline || !video_source || !video_encoder || !video_queue&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; || !audio_source || !audio_encoder || !audio_muxer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; || !filter || !sink) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("One element could not be created. Exiting.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;printf("Creating watcher bus ID *************************************************************************************************************\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));&lt;/P&gt;&lt;P&gt;&amp;nbsp; bus_watch_id = gst_bus_add_watch (bus, bus_call, loop);&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_object_unref (bus);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; gst_bin_add_many(GST_BIN (pipeline), video_source, video_encoder, video_queue,audio_source,audio_encoder,audio_queue,audio_muxer,sink,filter, NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst_element_link_many (video_source,video_encoder,video_queue,audio_muxer,NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst_element_link_many(audio_source,filter,audio_encoder,audio_queue,audio_muxer,NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst_element_link(audio_muxer,sink);&lt;/P&gt;&lt;P&gt;g_signal_connect (video_source, "pad-added", G_CALLBACK (on_pad_added),sink);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;printf("SIGNAL sent ********\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_print ("Now playing: %s\n", argv[1]);&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_element_set_state (pipeline, GST_STATE_PLAYING);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_print ("Running...\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_main_loop_run (loop);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_print ("Returned, stopping playback\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_element_set_state (pipeline, GST_STATE_NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_print ("Deleting pipeline\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_object_unref (GST_OBJECT (pipeline));&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_source_remove (bus_watch_id);&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_main_loop_unref (loop);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 May 2015 14:46:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GStreamer/m-p/449951#M69654</guid>
      <dc:creator>giritharanr</dc:creator>
      <dc:date>2015-05-20T14:46:50Z</dc:date>
    </item>
    <item>
      <title>Re: GStreamer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GStreamer/m-p/449952#M69655</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in fact, for capture raw audio and raw video, you can use gstreamer directly, you can refer to the source code of freescale gstreamer, and follow the command as below:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;gst-launch videotestsrc num-buffers=250 ! 'video/x-raw-yuv,format=(fourcc)I420,width=320,height=240,framerate=(fraction)25/1' ! queue ! mux. audiotestsrc num-buffers=440 ! audioconvert ! 'audio/x-raw-int,rate=44100,channels=2' ! queue ! mux. avimux name=mux ! filesink location=test.avi&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 May 2015 08:10:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GStreamer/m-p/449952#M69655</guid>
      <dc:creator>joanxie</dc:creator>
      <dc:date>2015-05-28T08:10:43Z</dc:date>
    </item>
  </channel>
</rss>

