I want to record Video from a composite input on a Video Capture card.
I took this example (from the documentation of avimux) gst-launch-1.0 videotestsrc num-buffers=250 \ ! 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1' \ ! queue ! mux. \ audiotestsrc num-buffers=440 ! audioconvert \ ! 'audio/x-raw,rate=44100,channels=2' ! queue ! mux. \ avimux name=mux ! filesink location=test.avi I changed the Test Sources to use what I hoped would be real inputs [ian@localhost ~]$ gst-launch-1.0 --gst-debug-level=4 v4l2src 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1' ! queue ! mux. alsasrc ! audioconvert ! 'audio/x-raw,rate=44100,channels=2' ! queue ! mux. avimux name=mux ! filesink location=test.avi I got some errors. Basically 2 errors reported: GStreamer-CRITICAL **: gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed and WARNING: erroneous pipeline: no element "video" although I wouldn't be surprised if one was caused by the other. I am new to GStreamer - so I turned up the debug level to try to determine what was actually complaining - but I am still confused. The debug output is below. 0:00:00.015370304 2795 0x113eb50 INFO GST_PLUGIN_LOADING gstplugin.c:828:gst_plugin_load_file: plugin "/usr/lib64/gstreamer-1.0/libgstvideo4linux2.so" loaded 0:00:00.015398073 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "v4l2src" 0:00:00.015663674 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseSrc@0x1246050> adding pad 'src' 0:00:00.015817080 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "video"! 0:00:00.015840134 2795 0x113eb50 ERROR GST_PIPELINE ./grammar.y:670:priv_gst_parse_yyparse: no element "video" 0:00:00.016145952 2795 0x113eb50 INFO GST_PLUGIN_LOADING gstplugin.c:828:gst_plugin_load_file: plugin "/usr/lib64/gstreamer-1.0/libgstcoreelements.so" loaded 0:00:00.016169146 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "queue" 0:00:00.016291104 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c000> adding pad 'sink' 0:00:00.016333700 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c000> adding pad 'src' 0:00:00.017409059 2795 0x113eb50 INFO GST_PLUGIN_LOADING gstplugin.c:828:gst_plugin_load_file: plugin "/usr/lib64/gstreamer-1.0/libgstalsa.so" loaded 0:00:00.017438263 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "alsasrc" 0:00:00.017570984 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseSrc@0x1254980> adding pad 'src' 0:00:00.017854208 2795 0x113eb50 INFO GST_PLUGIN_LOADING gstplugin.c:828:gst_plugin_load_file: plugin "/usr/lib64/gstreamer-1.0/libgstaudioconvert.so" loaded 0:00:00.017877752 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "audioconvert" 0:00:00.017996136 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1259400> adding pad 'sink' 0:00:00.018038344 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1259400> adding pad 'src' 0:00:00.018071107 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "queue" 0:00:00.018110888 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c2e0> adding pad 'sink' 0:00:00.018149838 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c2e0> adding pad 'src' 0:00:00.018456110 2795 0x113eb50 INFO GST_PLUGIN_LOADING gstplugin.c:828:gst_plugin_load_file: plugin "/usr/lib64/gstreamer-1.0/libgstavi.so" loaded 0:00:00.018476037 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "avimux" 0:00:00.018693959 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstAviMux@0x1260060> adding pad 'src' 0:00:00.018755731 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "filesink" 0:00:00.018839599 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseSink@0x1264000> adding pad 'sink' 0:00:00.018882255 2795 0x113eb50 INFO filesink gstfilesink.c:283:gst_file_sink_set_location: filename : test.avi 0:00:00.018898390 2795 0x113eb50 INFO filesink gstfilesink.c:284:gst_file_sink_set_location: uri : file:///home/ian/test.avi (gst-launch-1.0:2795): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed 0:00:00.018950885 2795 0x113eb50 ERROR GST_PIPELINE ./grammar.y:827:priv_gst_parse_yyparse: no source element for URI "/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1" 0:00:00.018973863 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "pipeline" 0:00:00.019182262 2795 0x113eb50 INFO GST_PIPELINE ./grammar.y:577:gst_parse_perform_link: linking v4l2src0:(any) to queue0:(any) (0/0) with caps "(NULL)" 0:00:00.019205992 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element v4l2src0:(any) to element queue0:(any) 0:00:00.019226359 2795 0x113eb50 INFO GST_PADS gstutils.c:936:gst_pad_check_link: trying to link v4l2src0:src and queue0:sink 0:00:00.019263600 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<queue0:src> pad has no peer 0:00:00.019285110 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: v4l2src0 and queue0 in same bin, no need for ghost pads 0:00:00.019311370 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link v4l2src0:src and queue0:sink 0:00:00.019336237 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<queue0:src> pad has no peer 0:00:00.019354793 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked v4l2src0:src and queue0:sink, successful 0:00:00.019370486 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.019388320 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<v4l2src0:src> Received event on flushing pad. Discarding 0:00:00.019409854 2795 0x113eb50 INFO GST_PARENTAGE gstbin.c:3903:gst_bin_get_by_name: [pipeline0]: looking up child element mux 0:00:00.019431346 2795 0x113eb50 INFO GST_PIPELINE ./grammar.y:577:gst_parse_perform_link: linking queue0:(any) to mux:mux (0/0) with caps "(NULL)" 0:00:00.019448546 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element queue0:(any) to element mux:(any) 0:00:00.019512663 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<mux> adding pad 'video_0' 0:00:00.019534628 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: queue0 and mux in same bin, no need for ghost pads 0:00:00.019554580 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link queue0:src and mux:video_0 0:00:00.019586407 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked queue0:src and mux:video_0, successful 0:00:00.019602683 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.019618096 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<queue0:src> Received event on flushing pad. Discarding 0:00:00.019637891 2795 0x113eb50 INFO GST_PIPELINE ./grammar.y:577:gst_parse_perform_link: linking alsasrc0:(any) to audioconvert0:(any) (0/0) with caps "(NULL)" 0:00:00.019655184 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element alsasrc0:(any) to element audioconvert0:(any) 0:00:00.019672525 2795 0x113eb50 INFO GST_PADS gstutils.c:936:gst_pad_check_link: trying to link alsasrc0:src and audioconvert0:sink 0:00:00.019699128 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<audioconvert0:src> pad has no peer 0:00:00.019729475 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; 0:00:00.019786446 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: alsasrc0 and audioconvert0 in same bin, no need for ghost pads 0:00:00.019807842 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link alsasrc0:src and audioconvert0:sink 0:00:00.019830044 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<audioconvert0:src> pad has no peer 0:00:00.019855723 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; 0:00:00.019904617 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked alsasrc0:src and audioconvert0:sink, successful 0:00:00.019921140 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.019936935 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<alsasrc0:src> Received event on flushing pad. Discarding 0:00:00.019957043 2795 0x113eb50 INFO GST_PIPELINE ./grammar.y:577:gst_parse_perform_link: linking audioconvert0:(any) to queue1:(any) (0/0) with caps "audio/x-raw, rate=(int)44100, channels=(int)2" 0:00:00.019981634 2795 0x113eb50 INFO GST_ELEMENT_FACTORY gstelementfactory.c:365:gst_element_factory_create: creating element "capsfilter" 0:00:00.020052198 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1268030> adding pad 'sink' 0:00:00.020089236 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1268030> adding pad 'src' 0:00:00.020114647 2795 0x113eb50 INFO GST_STATES gstbin.c:1804:gst_bin_get_state_func:<pipeline0> getting state 0:00:00.020139733 2795 0x113eb50 INFO GST_STATES gstelement.c:2321:gst_element_continue_state:<capsfilter0> completed state change to NULL 0:00:00.020159303 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.036244228 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element audioconvert0:(any) to element capsfilter0:sink 0:00:00.036298459 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:894:gst_element_get_static_pad: found pad capsfilter0:sink 0:00:00.036322072 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: audioconvert0 and capsfilter0 in same bin, no need for ghost pads 0:00:00.036355602 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link audioconvert0:src and capsfilter0:sink 0:00:00.036624322 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; 0:00:00.036882520 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<capsfilter0:src> pad has no peer 0:00:00.036915544 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked audioconvert0:src and capsfilter0:sink, successful 0:00:00.036938327 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.036961088 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<audioconvert0:src> Received event on flushing pad. Discarding 0:00:00.036989985 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element capsfilter0:src to element queue1:(any) 0:00:00.037013222 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:894:gst_element_get_static_pad: found pad capsfilter0:src 0:00:00.037047221 2795 0x113eb50 INFO GST_PADS gstutils.c:936:gst_pad_check_link: trying to link capsfilter0:src and queue1:sink 0:00:00.037273369 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; 0:00:00.037533944 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<queue1:src> pad has no peer 0:00:00.037562258 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: capsfilter0 and queue1 in same bin, no need for ghost pads 0:00:00.037590094 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link capsfilter0:src and queue1:sink 0:00:00.037816895 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; 0:00:00.038086325 2795 0x113eb50 INFO GST_PADS gstpad.c:3582:gst_pad_peer_query:<queue1:src> pad has no peer 0:00:00.038115054 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked capsfilter0:src and queue1:sink, successful 0:00:00.038137163 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.038158805 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<capsfilter0:src> Received event on flushing pad. Discarding 0:00:00.038188810 2795 0x113eb50 INFO GST_PARENTAGE gstbin.c:3903:gst_bin_get_by_name: [pipeline0]: looking up child element mux 0:00:00.038219410 2795 0x113eb50 INFO GST_PIPELINE ./grammar.y:577:gst_parse_perform_link: linking queue1:(any) to mux:mux (0/0) with caps "(NULL)" 0:00:00.038242791 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element queue1:(any) to element mux:(any) 0:00:00.038469282 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; 0:00:00.038781885 2795 0x113eb50 INFO GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<mux> adding pad 'audio_0' 0:00:00.038812675 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: queue1 and mux in same bin, no need for ghost pads 0:00:00.038839608 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link queue1:src and mux:audio_0 0:00:00.039070895 2795 0x113eb50 INFO default gststructure.c:2792:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; 0:00:00.039337982 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked queue1:src and mux:audio_0, successful 0:00:00.039360963 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.039381856 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<queue1:src> Received event on flushing pad. Discarding 0:00:00.039408729 2795 0x113eb50 INFO GST_PIPELINE ./grammar.y:577:gst_parse_perform_link: linking mux:(any) to filesink0:(any) (0/0) with caps "(NULL)" 0:00:00.039431936 2795 0x113eb50 INFO GST_ELEMENT_PADS gstutils.c:1543:gst_element_link_pads_full: trying to link element mux:(any) to element filesink0:(any) 0:00:00.039455518 2795 0x113eb50 INFO GST_PADS gstutils.c:936:gst_pad_check_link: trying to link mux:src and filesink0:sink 0:00:00.039485267 2795 0x113eb50 INFO GST_PADS gstutils.c:1443:prepare_link_maybe_ghosting: mux and filesink0 in same bin, no need for ghost pads 0:00:00.039511070 2795 0x113eb50 INFO GST_PADS gstpad.c:2061:gst_pad_link_prepare: trying to link mux:src and filesink0:sink 0:00:00.039538896 2795 0x113eb50 INFO GST_PADS gstpad.c:2263:gst_pad_link_full: linked mux:src and filesink0:sink, successful 0:00:00.039559781 2795 0x113eb50 INFO GST_EVENT gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event 0:00:00.039580361 2795 0x113eb50 INFO GST_EVENT gstpad.c:4873:gst_pad_send_event_unchecked:<mux:src> Received event on flushing pad. Discarding WARNING: erroneous pipeline: no element "video" -- -- Ian Davidson -- Facts used in this message may or may not reflect an underlying objective reality. Facts are supplied for personal use only. Recipients quoting supplied information do so at their own risk. Facts supplied may vary in whole or part from widely accepted standards. While painstakingly researched, facts may or may not be indicative of actually occurring events or natural phenomena. The author accepts no responsibility for personal loss or injury resulting from memorisation and subsequent use. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Tue, 2012-11-27 at 22:48 +0000, Ian Davidson wrote:
Hi, > I changed the Test Sources to use what I hoped would be real inputs > [ian@localhost ~]$ gst-launch-1.0 --gst-debug-level=4 v4l2src > 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1' > ! queue ! mux. alsasrc ! audioconvert ! > 'audio/x-raw,rate=44100,channels=2' ! queue ! mux. avimux name=mux ! > filesink location=test.avi You seem to be missing a ! between v4l2src and the filter caps here. Cheers -Tim > I got some errors. Basically 2 errors reported: > GStreamer-CRITICAL **: gst_element_make_from_uri: assertion > `gst_uri_is_valid (uri)' failed > and > WARNING: erroneous pipeline: no element "video" > although I wouldn't be surprised if one was caused by the other. > > I am new to GStreamer - so I turned up the debug level to try to > determine what was actually complaining - but I am still confused. The > debug output is below. > > 0:00:00.015370304 2795 0x113eb50 INFO GST_PLUGIN_LOADING > gstplugin.c:828:gst_plugin_load_file: plugin > "/usr/lib64/gstreamer-1.0/libgstvideo4linux2.so" loaded > 0:00:00.015398073 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "v4l2src" > 0:00:00.015663674 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseSrc@0x1246050> adding pad 'src' > 0:00:00.015817080 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:456:gst_element_factory_make: no such element > factory "video"! > 0:00:00.015840134 2795 0x113eb50 ERROR GST_PIPELINE > ./grammar.y:670:priv_gst_parse_yyparse: no element "video" > 0:00:00.016145952 2795 0x113eb50 INFO GST_PLUGIN_LOADING > gstplugin.c:828:gst_plugin_load_file: plugin > "/usr/lib64/gstreamer-1.0/libgstcoreelements.so" loaded > 0:00:00.016169146 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element "queue" > 0:00:00.016291104 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c000> adding pad 'sink' > 0:00:00.016333700 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c000> adding pad 'src' > 0:00:00.017409059 2795 0x113eb50 INFO GST_PLUGIN_LOADING > gstplugin.c:828:gst_plugin_load_file: plugin > "/usr/lib64/gstreamer-1.0/libgstalsa.so" loaded > 0:00:00.017438263 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "alsasrc" > 0:00:00.017570984 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseSrc@0x1254980> adding pad 'src' > 0:00:00.017854208 2795 0x113eb50 INFO GST_PLUGIN_LOADING > gstplugin.c:828:gst_plugin_load_file: plugin > "/usr/lib64/gstreamer-1.0/libgstaudioconvert.so" loaded > 0:00:00.017877752 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "audioconvert" > 0:00:00.017996136 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1259400> adding > pad 'sink' > 0:00:00.018038344 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1259400> adding > pad 'src' > 0:00:00.018071107 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element "queue" > 0:00:00.018110888 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c2e0> adding pad 'sink' > 0:00:00.018149838 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstQueue@0x124c2e0> adding pad 'src' > 0:00:00.018456110 2795 0x113eb50 INFO GST_PLUGIN_LOADING > gstplugin.c:828:gst_plugin_load_file: plugin > "/usr/lib64/gstreamer-1.0/libgstavi.so" loaded > 0:00:00.018476037 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "avimux" > 0:00:00.018693959 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstAviMux@0x1260060> adding pad 'src' > 0:00:00.018755731 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "filesink" > 0:00:00.018839599 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseSink@0x1264000> adding pad > 'sink' > 0:00:00.018882255 2795 0x113eb50 INFO filesink > gstfilesink.c:283:gst_file_sink_set_location: filename : test.avi > 0:00:00.018898390 2795 0x113eb50 INFO filesink > gstfilesink.c:284:gst_file_sink_set_location: uri : > file:///home/ian/test.avi > > (gst-launch-1.0:2795): GStreamer-CRITICAL **: gst_element_make_from_uri: > assertion `gst_uri_is_valid (uri)' failed > 0:00:00.018950885 2795 0x113eb50 ERROR GST_PIPELINE > ./grammar.y:827:priv_gst_parse_yyparse: no source element for URI > "/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1" > 0:00:00.018973863 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "pipeline" > 0:00:00.019182262 2795 0x113eb50 INFO GST_PIPELINE > ./grammar.y:577:gst_parse_perform_link: linking v4l2src0:(any) to > queue0:(any) (0/0) with caps "(NULL)" > 0:00:00.019205992 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > v4l2src0:(any) to element queue0:(any) > 0:00:00.019226359 2795 0x113eb50 INFO GST_PADS > gstutils.c:936:gst_pad_check_link: trying to link v4l2src0:src and > queue0:sink > 0:00:00.019263600 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<queue0:src> pad has no peer > 0:00:00.019285110 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: v4l2src0 and queue0 in same > bin, no need for ghost pads > 0:00:00.019311370 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link v4l2src0:src and > queue0:sink > 0:00:00.019336237 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<queue0:src> pad has no peer > 0:00:00.019354793 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked v4l2src0:src and queue0:sink, > successful > 0:00:00.019370486 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.019388320 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<v4l2src0:src> Received event > on flushing pad. Discarding > 0:00:00.019409854 2795 0x113eb50 INFO GST_PARENTAGE > gstbin.c:3903:gst_bin_get_by_name: [pipeline0]: looking up child element mux > 0:00:00.019431346 2795 0x113eb50 INFO GST_PIPELINE > ./grammar.y:577:gst_parse_perform_link: linking queue0:(any) to mux:mux > (0/0) with caps "(NULL)" > 0:00:00.019448546 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > queue0:(any) to element mux:(any) > 0:00:00.019512663 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<mux> adding pad 'video_0' > 0:00:00.019534628 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: queue0 and mux in same bin, > no need for ghost pads > 0:00:00.019554580 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link queue0:src and > mux:video_0 > 0:00:00.019586407 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked queue0:src and mux:video_0, > successful > 0:00:00.019602683 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.019618096 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<queue0:src> Received event > on flushing pad. Discarding > 0:00:00.019637891 2795 0x113eb50 INFO GST_PIPELINE > ./grammar.y:577:gst_parse_perform_link: linking alsasrc0:(any) to > audioconvert0:(any) (0/0) with caps "(NULL)" > 0:00:00.019655184 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > alsasrc0:(any) to element audioconvert0:(any) > 0:00:00.019672525 2795 0x113eb50 INFO GST_PADS > gstutils.c:936:gst_pad_check_link: trying to link alsasrc0:src and > audioconvert0:sink > 0:00:00.019699128 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<audioconvert0:src> pad has no peer > 0:00:00.019729475 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], > channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; > 0:00:00.019786446 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: alsasrc0 and audioconvert0 > in same bin, no need for ghost pads > 0:00:00.019807842 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link alsasrc0:src and > audioconvert0:sink > 0:00:00.019830044 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<audioconvert0:src> pad has no peer > 0:00:00.019855723 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, rate=(int)[ 1, 2147483647 ], > channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; > 0:00:00.019904617 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked alsasrc0:src and > audioconvert0:sink, successful > 0:00:00.019921140 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.019936935 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<alsasrc0:src> Received event > on flushing pad. Discarding > 0:00:00.019957043 2795 0x113eb50 INFO GST_PIPELINE > ./grammar.y:577:gst_parse_perform_link: linking audioconvert0:(any) to > queue1:(any) (0/0) with caps "audio/x-raw, rate=(int)44100, channels=(int)2" > 0:00:00.019981634 2795 0x113eb50 INFO GST_ELEMENT_FACTORY > gstelementfactory.c:365:gst_element_factory_create: creating element > "capsfilter" > 0:00:00.020052198 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1268030> adding > pad 'sink' > 0:00:00.020089236 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<GstBaseTransform@0x1268030> adding > pad 'src' > 0:00:00.020114647 2795 0x113eb50 INFO GST_STATES > gstbin.c:1804:gst_bin_get_state_func:<pipeline0> getting state > 0:00:00.020139733 2795 0x113eb50 INFO GST_STATES > gstelement.c:2321:gst_element_continue_state:<capsfilter0> completed > state change to NULL > 0:00:00.020159303 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.036244228 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > audioconvert0:(any) to element capsfilter0:sink > 0:00:00.036298459 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:894:gst_element_get_static_pad: found pad capsfilter0:sink > 0:00:00.036322072 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: audioconvert0 and > capsfilter0 in same bin, no need for ghost pads > 0:00:00.036355602 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link audioconvert0:src and > capsfilter0:sink > 0:00:00.036624322 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, > rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; > 0:00:00.036882520 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<capsfilter0:src> pad has no peer > 0:00:00.036915544 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked audioconvert0:src and > capsfilter0:sink, successful > 0:00:00.036938327 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.036961088 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<audioconvert0:src> Received > event on flushing pad. Discarding > 0:00:00.036989985 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > capsfilter0:src to element queue1:(any) > 0:00:00.037013222 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:894:gst_element_get_static_pad: found pad capsfilter0:src > 0:00:00.037047221 2795 0x113eb50 INFO GST_PADS > gstutils.c:936:gst_pad_check_link: trying to link capsfilter0:src and > queue1:sink > 0:00:00.037273369 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, > rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; > 0:00:00.037533944 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<queue1:src> pad has no peer > 0:00:00.037562258 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: capsfilter0 and queue1 in > same bin, no need for ghost pads > 0:00:00.037590094 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link capsfilter0:src and > queue1:sink > 0:00:00.037816895 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, > rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; > 0:00:00.038086325 2795 0x113eb50 INFO GST_PADS > gstpad.c:3582:gst_pad_peer_query:<queue1:src> pad has no peer > 0:00:00.038115054 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked capsfilter0:src and queue1:sink, > successful > 0:00:00.038137163 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.038158805 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<capsfilter0:src> Received > event on flushing pad. Discarding > 0:00:00.038188810 2795 0x113eb50 INFO GST_PARENTAGE > gstbin.c:3903:gst_bin_get_by_name: [pipeline0]: looking up child element mux > 0:00:00.038219410 2795 0x113eb50 INFO GST_PIPELINE > ./grammar.y:577:gst_parse_perform_link: linking queue1:(any) to mux:mux > (0/0) with caps "(NULL)" > 0:00:00.038242791 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > queue1:(any) to element mux:(any) > 0:00:00.038469282 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, > rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; > 0:00:00.038781885 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstelement.c:643:gst_element_add_pad:<mux> adding pad 'audio_0' > 0:00:00.038812675 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: queue1 and mux in same bin, > no need for ghost pads > 0:00:00.038839608 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link queue1:src and > mux:audio_0 > 0:00:00.039070895 2795 0x113eb50 INFO default > gststructure.c:2792:gst_structure_get_valist: Expected field > 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, > rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; > 0:00:00.039337982 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked queue1:src and mux:audio_0, > successful > 0:00:00.039360963 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.039381856 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<queue1:src> Received event > on flushing pad. Discarding > 0:00:00.039408729 2795 0x113eb50 INFO GST_PIPELINE > ./grammar.y:577:gst_parse_perform_link: linking mux:(any) to > filesink0:(any) (0/0) with caps "(NULL)" > 0:00:00.039431936 2795 0x113eb50 INFO GST_ELEMENT_PADS > gstutils.c:1543:gst_element_link_pads_full: trying to link element > mux:(any) to element filesink0:(any) > 0:00:00.039455518 2795 0x113eb50 INFO GST_PADS > gstutils.c:936:gst_pad_check_link: trying to link mux:src and filesink0:sink > 0:00:00.039485267 2795 0x113eb50 INFO GST_PADS > gstutils.c:1443:prepare_link_maybe_ghosting: mux and filesink0 in same > bin, no need for ghost pads > 0:00:00.039511070 2795 0x113eb50 INFO GST_PADS > gstpad.c:2061:gst_pad_link_prepare: trying to link mux:src and > filesink0:sink > 0:00:00.039538896 2795 0x113eb50 INFO GST_PADS > gstpad.c:2263:gst_pad_link_full: linked mux:src and filesink0:sink, > successful > 0:00:00.039559781 2795 0x113eb50 INFO GST_EVENT > gstevent.c:1313:gst_event_new_reconfigure: creating reconfigure event > 0:00:00.039580361 2795 0x113eb50 INFO GST_EVENT > gstpad.c:4873:gst_pad_send_event_unchecked:<mux:src> Received event on > flushing pad. Discarding > WARNING: erroneous pipeline: no element "video" _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks Tim, I have now got a command which is syntactically correct.
May I make a comment about the GStreamer Documentation?
On the GStreamer web site it says “Application Development Manual (Read this first) ” - so that would seem to be the place to start if you want to learn about Gstreamer. Very early in the document (section 2.1), it says that “The programmer can use an extensive set of powerful tools to create media pipelines without writing a single line of code. ” That is good to know and is brought about by the library of 'Plug-ins'. But – then as you continue to read the manual, you are thrown heavily into programming. Straight away.
Might I suggest that very early on you have mention of gst-launch – since, using that you can do things without having to write a single line of coding. However, the chapter on gst-launch itself is not an easy-to-read chapter: It starts with a 'simple commandline' and then shows a more complex one – but without any explanation. If we take the first example gst-launch filesrc location=hello.mp3 ! mad ! audioresample ! osssink you could then describe what is happening. e.g. gst-launch is a program which enables the user to construct pipelines using command-line parameters. Filesrc is an element (or a plugin) – in this case it will read data from a file and needs to know the name of the file to open. It will output the data so as to be the source for the next element in the pipe-line. The “!” symbol separates the first element from the next. mad is the next element in the pipe-line: It will decode mp3 data. It picks up the source provided by the previous element and then outputs the decoded data for the next element in the pipe-line. Once again, a “!” symbol separates the elements. audioresample resamples the Audio. (I don’t know why this is a benefit – it could be explained) Another “!” osssink takes the audio signal and sends it to an output device which supports (or is supported by) OSS. The second example could then be similarly explained – which would be a useful exercise since the single vob file is being demuxed with part of the data going one way and the rest another. A reference, at this point to the Overview of available plug-ins would be beneficial. Perhaps an example where more options need to be specified could also be explained. Then you can say that,
if you need to build this into an application, you can do the same
stuff with code and if you need to do something which is not
currently supported, you can write your own plug-in – so read
on... I hope this is useful Ian On 27/11/2012 22:52, Tim-Philipp Müller
wrote:
On Tue, 2012-11-27 at 22:48 +0000, Ian Davidson wrote: Hi,I changed the Test Sources to use what I hoped would be real inputs [ian@localhost ~]$ gst-launch-1.0 --gst-debug-level=4 v4l2src 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1' ! queue ! mux. alsasrc ! audioconvert ! 'audio/x-raw,rate=44100,channels=2' ! queue ! mux. avimux name=mux ! filesink location=test.aviYou seem to be missing a ! between v4l2src and the filter caps here. Cheers -Tim --
-- Ian Davidson -- Facts used in this message may or may not reflect an underlying objective reality. Facts are supplied for personal use only. Recipients quoting supplied information do so at their own risk. Facts supplied may vary in whole or part from widely accepted standards. While painstakingly researched, facts may or may not be indicative of actually occurring events or natural phenomena. The author accepts no responsibility for personal loss or injury resulting from memorisation and subsequent use. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |