Needed caps for piping into qtdemux

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Needed caps for piping into qtdemux

Kristoffer

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@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@0xff0018> adding pad 'sink'

0:00:00.069526667   527   0xf6e680 INFO        GST_ELEMENT_PADS gstelement.c:643:gst_element_add_pad:<GstQueue@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@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@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




_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Needed caps for piping into qtdemux

Sebastian Dröge-3
On Di, 2016-03-08 at 20:47 +0000, Kristoffer Glembo wrote:

> 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.
Take a look at qtdemux with gst-inspect-1.0:

> [...]
> Pad Templates:
>   SINK template: 'sink'
>     Availability: Always
>     Capabilities:
>       video/quicktime
>       video/mj2
>       audio/x-m4a
>       application/x-3gp
> [...]
That's all the caps qtdemux can accept. If you have MP4 container, the
first is what you want: video/x-quicktime.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Needed caps for piping into qtdemux

Kristoffer
I ultimately got it linking with video/quicktime. Thanks for your response!

Reply | Threaded
Open this post in threaded view
|

Re: Needed caps for piping into qtdemux

deepg799
I am also having the similar issue with my gst pipeline applciation.

Could you please elaborate more how did you fix the above issue in the Gst c
application?
Thanks in advance.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re[2]: Needed caps for piping into qtdemux

marininpa
Hi, I have not yet checked the recommendations on the forum (GStreamer-devel - Logitech C270 to RTP (nabble.com)), tomorrow I will test the new pipeline, I will write to you as the results will be.

 
Суббота, 17 апреля 2021, 20:37 +04:00 от deepg799 <[hidden email]>:
 
I am also having the similar issue with my gst pipeline applciation.

Could you please elaborate more how did you fix the above issue in the Gst c
application?
Thanks in advance.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@...
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
 
 
--
Павел Маринин
 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel