Needed caps for piping into qtdemux

Kristoffer Glembo kristoffer.glembo at qamcom.se
Tue Mar 8 20:47:13 UTC 2016


Hi there,


I'm trying to create a video source which can output an MP4 stream (with H264 video and ALAC sound) into a qtdemux for demuxing.


The MP4 stream itself has been created by the mp4mux element.


I can not manage to get the video source and qtdemux to link.


My source outputs the following: caps = "video/x-h264, stream-format=(string)avc, alignment=(string)au"


This is similar to what is output if I read the MP4 using filesrc. I have also tried with video/quicktime and video/mpeg4 but never manage to get the pipe to link.


If I  do gst-launch1.0 mysrc ! queue ! qtdemux ! fakesink I get the output below. Any advice would be great!



0:00:00.004574667   527   0xf6e680 INFO                GST_INIT gstmessage.c:119:_priv_gst_message_initialize: init messages

0:00:00.009506667   527   0xf6e680 INFO                GST_INIT gstcontext.c:77:_priv_gst_context_initialize: init contexts

0:00:00.010783334   527   0xf6e680 INFO      GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins

0:00:00.011394667   527   0xf6e680 INFO      GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"

0:00:00.011451000   527   0xf6e680 INFO      GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1

0:00:00.011570667   527   0xf6e680 INFO            GST_REGISTRY gstregistry.c:1722:ensure_current_registry: reading registry cache: /home/root/.cache/gstreamer-1.0/r

egistry.arm.bin

0:00:00.058968667   527   0xf6e680 INFO            GST_REGISTRY gstregistrybinary.c:619:priv_gst_registry_binary_read_cache: loaded /home/root/.cache/gstreamer-1.0/r

egistry.arm.bin in 0.047270 seconds

0:00:00.059206000   527   0xf6e680 INFO            GST_REGISTRY gstregistry.c:1578:scan_and_update_registry: Validating plugins from registry cache: /home/root/.cach

e/gstreamer-1.0/registry.arm.bin

0:00:00.059928334   527   0xf6e680 INFO            GST_REGISTRY gstregistry.c:1680:scan_and_update_registry: Registry cache has not changed

0:00:00.059974000   527   0xf6e680 INFO            GST_REGISTRY gstregistry.c:1757:ensure_current_registry: registry reading and updating done, result = 1

0:00:00.060027667   527   0xf6e680 INFO                GST_INIT gst.c:709:init_post: GLib runtime version: 2.44.1

0:00:00.060078000   527   0xf6e680 INFO                GST_INIT gst.c:711:init_post: GLib headers version: 2.44.1

0:00:00.060174334   527   0xf6e680 INFO            GST_PIPELINE gstparse.c:323:gst_parse_launch_full: parsing pipeline description 'v4l2src_userptr imx-capture-mode=

9 queue-size=20 width=1920 height=1080 pixel_format=877088845 ! queue ! qtdemux ! fakesink '

0:00:00.065080667   527   0xf6e680 INFO      GST_PLUGIN_LOADING gstplugin.c:833:gst_plugin_load_file: plugin "/usr/lib/gstreamer-1.0/libgstimxv4l2videosrc-userptr.so

" loaded

0:00:00.065167334   527   0xf6e680 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "v4l2src_userptr"

0:00:00.065984667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseSrc at 0xfec230> adding pad 'src'

0:00:00.068641667   527   0xf6e680 INFO      GST_PLUGIN_LOADING gstplugin.c:833:gst_plugin_load_file: plugin "/usr/lib/gstreamer-1.0/libgstcoreelements.so" loaded

0:00:00.068749000   527   0xf6e680 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "queue"

0:00:00.069353667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue at 0xff0018> adding pad 'sink'

0:00:00.069526667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue at 0xff0018> adding pad 'src'

0:00:00.077179667   527   0xf6e680 INFO      GST_PLUGIN_LOADING gstplugin.c:833:gst_plugin_load_file: plugin "/usr/lib/gstreamer-1.0/libgstisomp4.so" loaded

0:00:00.077250334   527   0xf6e680 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "qtdemux"

0:00:00.078158000   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQTDemux at 0xffa018> adding pad 'sink'

0:00:00.078352000   527   0xf6e680 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "fakesink"

0:00:00.079010334   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstBaseSink at 0xffe2c8> adding pad 'sink'

0:00:00.079125000   527   0xf6e680 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "pipeline"

0:00:00.079580334   527   0xf6e680 INFO            GST_PIPELINE grammar.y:570:gst_parse_perform_link: linking imxv4l2userptrsrc0:(any) to queue0:(any) (0/0) with cap

s "(NULL)"

0:00:00.079698667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstutils.c:1545:gst_element_link_pads_full: trying to link element imxv4l2userptrsrc0:(any) to elemen

t queue0:(any)

0:00:00.079777000   527   0xf6e680 INFO                GST_PADS gstutils.c:937:gst_pad_check_link: trying to link imxv4l2userptrsrc0:src and queue0:sink

0:00:00.079947334   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:353:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps filter (NULL)

0:00:00.080016667   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:372:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps video/x-h264, stream-format=(str

ing)avc, alignment=(string)au

0:00:00.080169000   527   0xf6e680 INFO                GST_PADS gstpad.c:3745:gst_pad_peer_query:<queue0:src> pad has no peer

0:00:00.080254334   527   0xf6e680 INFO                GST_PADS gstutils.c:1445:prepare_link_maybe_ghosting: imxv4l2userptrsrc0 and queue0 in same bin, no need for g

host pads

0:00:00.413484001   527   0xf6e680 INFO                GST_PADS gstpad.c:2186:gst_pad_link_prepare: trying to link imxv4l2userptrsrc0:src and queue0:sink

0:00:00.413641667   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:353:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps filter (NULL)

0:00:00.413767667   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:372:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps video/x-h264, stream-format=(str

ing)avc, alignment=(string)au

0:00:00.413945667   527   0xf6e680 INFO                GST_PADS gstpad.c:3745:gst_pad_peer_query:<queue0:src> pad has no peer

0:00:00.414071334   527   0xf6e680 INFO                GST_PADS gstpad.c:2388:gst_pad_link_full: linked imxv4l2userptrsrc0:src and queue0:sink, successful

0:00:00.414192334   527   0xf6e680 INFO               GST_EVENT gstevent.c:1373:gst_event_new_reconfigure: creating reconfigure event

0:00:00.414359334   527   0xf6e680 INFO               GST_EVENT gstpad.c:5182:gst_pad_send_event_unchecked:<imxv4l2userptrsrc0:src> Received event on flushing pad. D

iscarding

0:00:00.414542001   527   0xf6e680 INFO            GST_PIPELINE grammar.y:570:gst_parse_perform_link: linking queue0:(any) to qtdemux0:(any) (0/0) with caps "(NULL)"

0:00:00.414667001   527   0xf6e680 INFO        GST_ELEMENT_PADS gstutils.c:1545:gst_element_link_pads_full: trying to link element queue0:(any) to element qtdemux0:(

any)

0:00:00.414784667   527   0xf6e680 INFO                GST_PADS gstutils.c:937:gst_pad_check_link: trying to link queue0:src and qtdemux0:sink

0:00:00.414935667   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:353:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps filter (NULL)

0:00:00.415062001   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:372:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps video/x-h264, stream-format=(str

ing)avc, alignment=(string)au

0:00:00.415341001   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:353:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps filter (NULL)

0:00:00.415467001   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:372:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps video/x-h264, stream-format=(str

ing)avc, alignment=(string)au

0:00:00.415824667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstutils.c:1125:gst_element_get_compatible_pad:<qtdemux0> Could not find a compatible pad to link to

queue0:src

0:00:00.415998001   527   0xf6e680 INFO                GST_PADS gstutils.c:937:gst_pad_check_link: trying to link queue0:src and qtdemux0:sink

0:00:00.416180001   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:353:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps filter (NULL)

0:00:00.416303334   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:372:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps video/x-h264, stream-format=(str

ing)avc, alignment=(string)au

0:00:00.416621334   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:895:gst_element_get_static_pad: found pad queue0:src

0:00:00.416736001   527   0xf6e680 INFO                GST_PADS gstutils.c:1445:prepare_link_maybe_ghosting: queue0 and qtdemux0 in same bin, no need for ghost pads

0:00:00.416869334   527   0xf6e680 INFO                GST_PADS gstpad.c:2186:gst_pad_link_prepare: trying to link queue0:src and qtdemux0:sink

0:00:00.417233667   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:353:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps filter (NULL)

0:00:00.417363667   527   0xf6e680 INFO         v4l2src_userptr v4l2src.c:372:gst_imx_v4l2src_get_caps:<imxv4l2userptrsrc0> get caps video/x-h264, stream-format=(str

ing)avc, alignment=(string)au

0:00:00.749517667   527   0xf6e680 INFO                GST_PADS gstpad.c:2242:gst_pad_link_prepare: caps are incompatible

0:00:00.749682667   527   0xf6e680 INFO                 default gstutils.c:1891:gst_element_link_pads_filtered: Could not link pads: queue0:(null) - qtdemux0:(null)

0:00:00.749804001   527   0xf6e680 ERROR           GST_PIPELINE grammar.y:616:gst_parse_perform_link: could not link queue0 to qtdemux0

0:00:00.749921667   527   0xf6e680 INFO            GST_PIPELINE grammar.y:570:gst_parse_perform_link: linking qtdemux0:(any) to fakesink0:(any) (0/0) with caps "(NUL

L)"

0:00:00.750037001   527   0xf6e680 INFO        GST_ELEMENT_PADS gstutils.c:1545:gst_element_link_pads_full: trying to link element qtdemux0:(any) to element fakesink

0:(any)

0:00:00.750346334   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:892:gst_element_get_static_pad: no such pad 'video_%u' in element "qtdemux0"

0:00:00.750479667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstutils.c:1125:gst_element_get_compatible_pad:<qtdemux0> Could not find a compatible pad to link to

fakesink0:sink

0:00:00.750571334   527   0xf6e680 INFO                 default gstutils.c:1891:gst_element_link_pads_filtered: Could not link pads: qtdemux0:(null) - fakesink0:(nul

l)

WARNING: erroneous pipeline: could not link queue0 to qtdemux0


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160308/01ada34c/attachment-0001.html>


More information about the gstreamer-devel mailing list