Using compositor with gstreamer

va6996 vinayakagarwal6996 at gmail.com
Mon Jun 7 01:11:33 UTC 2021


Hi All,

I am trying to use compositor (C application) to have mulitple videos
playing together in an image background. I am not sure about the reason for
the error. The command line works fine, but the code doesn't. For now I am
just trying video on video since image background is yet another issue. I am
using the latest version for mac. Most C code is boilerplate from tutorials.

Command:
gst-launch-1.0 \
    filesrc location="./resources/cars/1.mp4" ! decodebin ! \
    compositor name=m ! videoconvert ! filesink location=./file \
    filesrc location="./resources/cars/2.mp4" ! decodebin ! videoconvert !
m.

Code: https://pastebin.com/HcpDe1Mq

Error:
0:00:00.021265000 69553    0x1506afe30 WARN                 basesrc
gstbasesrc.c:3688:gst_base_src_start_complete:<background1> pad not
activated yet
0:00:00.021450000 69553    0x1506afe30 WARN                 basesrc
gstbasesrc.c:3688:gst_base_src_start_complete:<background> pad not activated
yet
Pipeline state changed from NULL to READY:
0:00:00.032078000 69553    0x15100c6a0 WARN                 qtdemux
qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type text
0:00:00.032093000 69553    0x15100c6a0 WARN                 qtdemux
qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type text
0:00:00.032140000 69553    0x15100c6a0 WARN                 qtdemux
qtdemux.c:3067:qtdemux_parse_trex:<qtdemux1> failed to find fragment
defaults for stream 1
0:00:00.032149000 69553    0x15100c700 WARN                 qtdemux
qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type text
0:00:00.032161000 69553    0x15100c700 WARN                 qtdemux
qtdemux_types.c:245:qtdemux_type_get: unknown QuickTime node type text
0:00:00.032187000 69553    0x15100c700 WARN                 qtdemux
qtdemux.c:3067:qtdemux_parse_trex:<qtdemux0> failed to find fragment
defaults for stream 1
0:00:00.033064000 69553    0x15100c700 WARN                 qtdemux
qtdemux.c:3067:qtdemux_parse_trex:<qtdemux0> failed to find fragment
defaults for stream 2
0:00:00.033118000 69553    0x15100c6a0 WARN                 qtdemux
qtdemux.c:3067:qtdemux_parse_trex:<qtdemux1> failed to find fragment
defaults for stream 2
0:00:00.033876000 69553    0x15100c700 WARN                 qtdemux
qtdemux.c:3067:qtdemux_parse_trex:<qtdemux0> failed to find fragment
defaults for stream 3
0:00:00.033880000 69553    0x15100c6a0 WARN                 qtdemux
qtdemux.c:3067:qtdemux_parse_trex:<qtdemux1> failed to find fragment
defaults for stream 3
0:00:00.035950000 69553    0x15100c6a0 WARN                    faad
gstfaad.c:270:gst_faad_set_format:<faad0> buggy faad version, wrong nr of
channels 2 instead of 1
0:00:00.035956000 69553    0x15100c700 WARN                    faad
gstfaad.c:270:gst_faad_set_format:<faad1> buggy faad version, wrong nr of
channels 2 instead of 1
0:00:00.041025000 69553    0x15100c700 FIXME           videodecoder
gstvideodecoder.c:1052:gst_video_decoder_drain_out:<vtdechw1> Sub-class
should implement drain()
0:00:00.041028000 69553    0x15100c6a0 FIXME           videodecoder
gstvideodecoder.c:1052:gst_video_decoder_drain_out:<vtdechw0> Sub-class
should implement drain()
0:00:00.151471000 69553    0x15100c700 FIXME           videodecoder
gstvideodecoder.c:1052:gst_video_decoder_drain_out:<vtdechw1> Sub-class
should implement drain()
0:00:00.151513000 69553    0x15100c6a0 FIXME           videodecoder
gstvideodecoder.c:1052:gst_video_decoder_drain_out:<vtdechw0> Sub-class
should implement drain()
Received new pad 'src_0' from 'decode':

(a.out:69553): GStreamer-CRITICAL **: 21:10:17.380: gst_pad_is_linked:
assertion 'GST_IS_PAD (pad)' failed

(a.out:69553): GStreamer-CRITICAL **: 21:10:17.380: gst_pad_link_full:
assertion 'GST_IS_PAD (sinkpad)' failed
Type is 'video/x-raw' but link failed.

(a.out:69553): GStreamer-CRITICAL **: 21:10:17.380: gst_object_unref:
assertion 'object != NULL' failed
Received new pad 'src_1' from 'decode':

(a.out:69553): GStreamer-CRITICAL **: 21:10:17.380: gst_pad_is_linked:
assertion 'GST_IS_PAD (pad)' failed
It has type 'audio/x-raw' which is not raw video. Ignoring.

(a.out:69553): GStreamer-CRITICAL **: 21:10:17.380: gst_object_unref:
assertion 'object != NULL' failed
Received new pad 'src_0' from 'decode1':
Link succeeded (type 'video/x-raw').
Received new pad 'src_1' from 'decode1':
We are already linked. Ignoring.
0:00:00.189580000 69553    0x15100c700 WARN                 qtdemux
qtdemux.c:6545:gst_qtdemux_loop:<qtdemux0> error: Internal data stream
error.
0:00:00.189594000 69553    0x15100c700 WARN                 qtdemux
qtdemux.c:6545:gst_qtdemux_loop:<qtdemux0> error: streaming stopped, reason
not-linked (-1)
Error received from element qtdemux0: Internal data stream error.
Debugging information: ../gst/isomp4/qtdemux.c(6545): gst_qtdemux_loop ():
/GstPipeline:compositor_pipeline/GstDecodeBin:decode/GstQTDemux:qtdemux0:
streaming stopped, reason not-linked (-1)
0:00:00.193349000 69553    0x15080ac00 WARN            audiodecoder
gstaudiodecoder.c:1791:gst_audio_decoder_drain:<faad1> still 1 frames left
after draining

Thanks!




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list